raygun4ruby 3.2.5.pre → 4.0.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (230) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +48 -0
  3. data/.gitignore +22 -21
  4. data/.rspec +1 -1
  5. data/Appraisals +19 -0
  6. data/CHANGELOG.md +169 -130
  7. data/Gemfile +4 -4
  8. data/LICENSE.txt +22 -22
  9. data/README.md +424 -420
  10. data/Rakefile +32 -27
  11. data/examples/sinatras_raygun.rb +17 -17
  12. data/gemfiles/rails_6.gemfile +9 -0
  13. data/gemfiles/rails_7.gemfile +10 -0
  14. data/gemfiles/rails_7_sidekiq_6.gemfile +10 -0
  15. data/lib/generators/raygun/install_generator.rb +26 -26
  16. data/lib/raygun/affected_user.rb +59 -59
  17. data/lib/raygun/breadcrumbs/breadcrumb.rb +34 -34
  18. data/lib/raygun/breadcrumbs/store.rb +86 -86
  19. data/lib/raygun/breadcrumbs.rb +34 -34
  20. data/lib/raygun/client.rb +313 -308
  21. data/lib/raygun/configuration.rb +197 -194
  22. data/lib/raygun/demo_exception.rb +23 -0
  23. data/lib/raygun/error.rb +10 -10
  24. data/lib/raygun/error_subscriber.rb +21 -0
  25. data/lib/raygun/javascript_tracker.rb +42 -42
  26. data/lib/raygun/middleware/breadcrumbs_store_initializer.rb +19 -19
  27. data/lib/raygun/middleware/javascript_exception_tracking.rb +40 -32
  28. data/lib/raygun/middleware/rack_exception_interceptor.rb +18 -18
  29. data/lib/raygun/middleware/rails_insert_affected_user.rb +26 -26
  30. data/lib/raygun/railtie.rb +47 -39
  31. data/lib/raygun/services/apply_whitelist_filter_to_payload.rb +27 -27
  32. data/lib/raygun/sidekiq.rb +51 -71
  33. data/lib/raygun/version.rb +3 -3
  34. data/lib/raygun.rb +197 -179
  35. data/lib/raygun4ruby.rb +1 -1
  36. data/lib/resque/failure/raygun.rb +25 -25
  37. data/lib/tasks/raygun.tasks +7 -7
  38. data/raygun4ruby.gemspec +43 -45
  39. data/spec/features/javascript_spec.rb +48 -48
  40. data/spec/rails_applications/6.1.4/Gemfile +56 -0
  41. data/spec/{dummy/README.rdoc → rails_applications/6.1.4/README.md} +24 -28
  42. data/spec/{dummy → rails_applications/6.1.4}/Rakefile +6 -6
  43. data/spec/rails_applications/6.1.4/app/assets/config/manifest.js +2 -0
  44. data/spec/{dummy → rails_applications/6.1.4}/app/assets/stylesheets/application.css +15 -15
  45. data/spec/rails_applications/6.1.4/app/channels/application_cable/channel.rb +4 -0
  46. data/spec/rails_applications/6.1.4/app/channels/application_cable/connection.rb +4 -0
  47. data/spec/rails_applications/6.1.4/app/controllers/application_controller.rb +2 -0
  48. data/spec/{dummy → rails_applications/6.1.4}/app/controllers/home_controller.rb +4 -4
  49. data/spec/{dummy → rails_applications/6.1.4}/app/helpers/application_helper.rb +2 -2
  50. data/spec/rails_applications/6.1.4/app/javascript/channels/consumer.js +6 -0
  51. data/spec/rails_applications/6.1.4/app/javascript/channels/index.js +5 -0
  52. data/spec/rails_applications/6.1.4/app/javascript/packs/application.js +13 -0
  53. data/spec/rails_applications/6.1.4/app/jobs/application_job.rb +7 -0
  54. data/spec/rails_applications/6.1.4/app/mailers/application_mailer.rb +4 -0
  55. data/spec/rails_applications/6.1.4/app/models/application_record.rb +3 -0
  56. data/spec/{dummy → rails_applications/6.1.4}/app/views/home/index.html.erb +3 -3
  57. data/spec/{dummy → rails_applications/6.1.4}/app/views/home/index.json.erb +1 -1
  58. data/spec/rails_applications/6.1.4/app/views/layouts/application.html.erb +13 -0
  59. data/spec/rails_applications/6.1.4/app/views/layouts/mailer.html.erb +13 -0
  60. data/spec/rails_applications/6.1.4/app/views/layouts/mailer.text.erb +1 -0
  61. data/spec/rails_applications/6.1.4/bin/rails +5 -0
  62. data/spec/rails_applications/6.1.4/bin/rake +5 -0
  63. data/spec/rails_applications/6.1.4/bin/setup +36 -0
  64. data/spec/rails_applications/6.1.4/bin/spring +14 -0
  65. data/spec/rails_applications/6.1.4/bin/yarn +17 -0
  66. data/spec/rails_applications/6.1.4/config/application.rb +22 -0
  67. data/spec/rails_applications/6.1.4/config/boot.rb +3 -0
  68. data/spec/rails_applications/6.1.4/config/cable.yml +10 -0
  69. data/spec/rails_applications/6.1.4/config/credentials.yml.enc +1 -0
  70. data/spec/{dummy → rails_applications/6.1.4}/config/database.yml +25 -25
  71. data/spec/{dummy → rails_applications/6.1.4}/config/environment.rb +5 -5
  72. data/spec/rails_applications/6.1.4/config/environments/development.rb +76 -0
  73. data/spec/rails_applications/6.1.4/config/environments/production.rb +120 -0
  74. data/spec/rails_applications/6.1.4/config/environments/test.rb +60 -0
  75. data/spec/rails_applications/6.1.4/config/initializers/application_controller_renderer.rb +8 -0
  76. data/spec/rails_applications/6.1.4/config/initializers/assets.rb +14 -0
  77. data/spec/rails_applications/6.1.4/config/initializers/backtrace_silencers.rb +8 -0
  78. data/spec/rails_applications/6.1.4/config/initializers/content_security_policy.rb +30 -0
  79. data/spec/{dummy → rails_applications/6.1.4}/config/initializers/cookies_serializer.rb +5 -3
  80. data/spec/{dummy → rails_applications/6.1.4}/config/initializers/filter_parameter_logging.rb +6 -4
  81. data/spec/{dummy → rails_applications/6.1.4}/config/initializers/inflections.rb +16 -16
  82. data/spec/{dummy → rails_applications/6.1.4}/config/initializers/mime_types.rb +4 -4
  83. data/spec/rails_applications/6.1.4/config/initializers/permissions_policy.rb +11 -0
  84. data/spec/{dummy → rails_applications/6.1.4}/config/initializers/wrap_parameters.rb +14 -14
  85. data/spec/{dummy → rails_applications/6.1.4}/config/locales/en.yml +33 -23
  86. data/spec/rails_applications/6.1.4/config/master.key +1 -0
  87. data/spec/rails_applications/6.1.4/config/puma.rb +43 -0
  88. data/spec/rails_applications/6.1.4/config/routes.rb +4 -0
  89. data/spec/rails_applications/6.1.4/config/spring.rb +6 -0
  90. data/spec/rails_applications/6.1.4/config/storage.yml +34 -0
  91. data/spec/{dummy → rails_applications/6.1.4}/config.ru +6 -4
  92. data/spec/rails_applications/6.1.4/db/seeds.rb +7 -0
  93. data/spec/rails_applications/6.1.4/package.json +11 -0
  94. data/spec/{dummy → rails_applications/6.1.4}/public/404.html +67 -67
  95. data/spec/{dummy → rails_applications/6.1.4}/public/422.html +67 -67
  96. data/spec/{dummy → rails_applications/6.1.4}/public/500.html +66 -66
  97. data/spec/rails_applications/6.1.4/public/robots.txt +1 -0
  98. data/spec/rails_applications/7.1.3/.dockerignore +37 -0
  99. data/spec/rails_applications/7.1.3/.gitattributes +9 -0
  100. data/spec/rails_applications/7.1.3/.gitignore +35 -0
  101. data/spec/rails_applications/7.1.3/.ruby-version +1 -0
  102. data/spec/rails_applications/7.1.3/Dockerfile +62 -0
  103. data/spec/rails_applications/7.1.3/Gemfile +67 -0
  104. data/spec/rails_applications/7.1.3/README.md +24 -0
  105. data/spec/rails_applications/7.1.3/Rakefile +6 -0
  106. data/spec/rails_applications/7.1.3/app/assets/config/manifest.js +4 -0
  107. data/spec/rails_applications/7.1.3/app/assets/stylesheets/application.css +15 -0
  108. data/spec/rails_applications/7.1.3/app/channels/application_cable/channel.rb +4 -0
  109. data/spec/rails_applications/7.1.3/app/channels/application_cable/connection.rb +4 -0
  110. data/spec/rails_applications/7.1.3/app/controllers/application_controller.rb +2 -0
  111. data/spec/rails_applications/7.1.3/app/controllers/concerns/.keep +0 -0
  112. data/spec/rails_applications/7.1.3/app/controllers/home_controller.rb +2 -0
  113. data/spec/rails_applications/7.1.3/app/helpers/application_helper.rb +2 -0
  114. data/spec/rails_applications/7.1.3/app/helpers/home_helper.rb +2 -0
  115. data/spec/rails_applications/7.1.3/app/javascript/application.js +3 -0
  116. data/spec/rails_applications/7.1.3/app/javascript/controllers/application.js +9 -0
  117. data/spec/rails_applications/7.1.3/app/javascript/controllers/hello_controller.js +7 -0
  118. data/spec/rails_applications/7.1.3/app/javascript/controllers/index.js +11 -0
  119. data/spec/rails_applications/7.1.3/app/jobs/application_job.rb +7 -0
  120. data/spec/rails_applications/7.1.3/app/mailers/application_mailer.rb +4 -0
  121. data/spec/rails_applications/7.1.3/app/models/application_record.rb +3 -0
  122. data/spec/rails_applications/7.1.3/app/models/concerns/.keep +0 -0
  123. data/spec/rails_applications/7.1.3/app/views/home/index.html.erb +3 -0
  124. data/spec/rails_applications/7.1.3/app/views/home/index.json.erb +1 -0
  125. data/spec/rails_applications/7.1.3/app/views/layouts/application.html.erb +16 -0
  126. data/spec/rails_applications/7.1.3/app/views/layouts/mailer.html.erb +13 -0
  127. data/spec/rails_applications/7.1.3/app/views/layouts/mailer.text.erb +1 -0
  128. data/spec/rails_applications/7.1.3/bin/bundle +109 -0
  129. data/spec/rails_applications/7.1.3/bin/docker-entrypoint +8 -0
  130. data/spec/rails_applications/7.1.3/bin/importmap +4 -0
  131. data/spec/rails_applications/7.1.3/bin/rails +4 -0
  132. data/spec/rails_applications/7.1.3/bin/rake +4 -0
  133. data/spec/rails_applications/7.1.3/bin/setup +33 -0
  134. data/spec/rails_applications/7.1.3/config/application.rb +27 -0
  135. data/spec/rails_applications/7.1.3/config/boot.rb +4 -0
  136. data/spec/rails_applications/7.1.3/config/cable.yml +11 -0
  137. data/spec/rails_applications/7.1.3/config/credentials.yml.enc +1 -0
  138. data/spec/rails_applications/7.1.3/config/database.yml +25 -0
  139. data/spec/rails_applications/7.1.3/config/environment.rb +5 -0
  140. data/spec/rails_applications/7.1.3/config/environments/development.rb +76 -0
  141. data/spec/rails_applications/7.1.3/config/environments/production.rb +97 -0
  142. data/spec/rails_applications/7.1.3/config/environments/test.rb +64 -0
  143. data/spec/rails_applications/7.1.3/config/importmap.rb +7 -0
  144. data/spec/rails_applications/7.1.3/config/initializers/assets.rb +12 -0
  145. data/spec/rails_applications/7.1.3/config/initializers/content_security_policy.rb +25 -0
  146. data/spec/rails_applications/7.1.3/config/initializers/filter_parameter_logging.rb +8 -0
  147. data/spec/rails_applications/7.1.3/config/initializers/inflections.rb +16 -0
  148. data/spec/rails_applications/7.1.3/config/initializers/permissions_policy.rb +13 -0
  149. data/spec/rails_applications/7.1.3/config/locales/en.yml +31 -0
  150. data/spec/rails_applications/7.1.3/config/puma.rb +35 -0
  151. data/spec/rails_applications/7.1.3/config/routes.rb +11 -0
  152. data/spec/rails_applications/7.1.3/config/storage.yml +34 -0
  153. data/spec/rails_applications/7.1.3/config.ru +6 -0
  154. data/spec/rails_applications/7.1.3/db/seeds.rb +9 -0
  155. data/spec/rails_applications/7.1.3/lib/assets/.keep +0 -0
  156. data/spec/rails_applications/7.1.3/lib/tasks/.keep +0 -0
  157. data/spec/rails_applications/7.1.3/public/404.html +67 -0
  158. data/spec/rails_applications/7.1.3/public/422.html +67 -0
  159. data/spec/rails_applications/7.1.3/public/500.html +66 -0
  160. data/spec/rails_applications/7.1.3/public/apple-touch-icon-precomposed.png +0 -0
  161. data/spec/rails_applications/7.1.3/public/apple-touch-icon.png +0 -0
  162. data/spec/rails_applications/7.1.3/public/favicon.ico +0 -0
  163. data/spec/rails_applications/7.1.3/public/robots.txt +1 -0
  164. data/spec/rails_applications/7.1.3/storage/.keep +0 -0
  165. data/spec/rails_applications/7.1.3/test/application_system_test_case.rb +5 -0
  166. data/spec/rails_applications/7.1.3/test/channels/application_cable/connection_test.rb +13 -0
  167. data/spec/rails_applications/7.1.3/test/controllers/.keep +0 -0
  168. data/spec/rails_applications/7.1.3/test/controllers/home_controller_test.rb +7 -0
  169. data/spec/rails_applications/7.1.3/test/fixtures/files/.keep +0 -0
  170. data/spec/rails_applications/7.1.3/test/helpers/.keep +0 -0
  171. data/spec/rails_applications/7.1.3/test/integration/.keep +0 -0
  172. data/spec/rails_applications/7.1.3/test/mailers/.keep +0 -0
  173. data/spec/rails_applications/7.1.3/test/models/.keep +0 -0
  174. data/spec/rails_applications/7.1.3/test/system/.keep +0 -0
  175. data/spec/rails_applications/7.1.3/test/test_helper.rb +15 -0
  176. data/spec/rails_applications/7.1.3/vendor/.keep +0 -0
  177. data/spec/rails_applications/7.1.3/vendor/javascript/.keep +0 -0
  178. data/spec/rails_helper.rb +8 -4
  179. data/spec/raygun/breadcrumbs/breadcrumb_spec.rb +171 -171
  180. data/spec/raygun/breadcrumbs/store_spec.rb +170 -170
  181. data/spec/services/apply_whitelist_filter_to_payload_spec.rb +251 -251
  182. data/spec/spec_helper.rb +24 -24
  183. data/spec/support/fake_logger.rb +17 -17
  184. data/test/integration/client_test.rb +19 -19
  185. data/test/rails_helper.rb +6 -0
  186. data/test/test_helper.rb +76 -72
  187. data/test/unit/affected_user_test.rb +136 -136
  188. data/test/unit/client_test.rb +812 -812
  189. data/test/unit/configuration_test.rb +202 -206
  190. data/test/unit/error_subscriber_test.rb +43 -0
  191. data/test/unit/raygun_test.rb +106 -25
  192. data/test/unit/resque_failure_test.rb +27 -24
  193. data/test/unit/sidekiq_failure_test.rb +42 -32
  194. metadata +186 -115
  195. data/.travis.yml +0 -20
  196. data/spec/dummy/.gitignore +0 -17
  197. data/spec/dummy/Gemfile +0 -47
  198. data/spec/dummy/app/assets/config/manifest.js +0 -3
  199. data/spec/dummy/app/assets/javascripts/application.js +0 -13
  200. data/spec/dummy/app/controllers/application_controller.rb +0 -5
  201. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  202. data/spec/dummy/bin/bundle +0 -3
  203. data/spec/dummy/bin/rails +0 -9
  204. data/spec/dummy/bin/rake +0 -9
  205. data/spec/dummy/bin/setup +0 -29
  206. data/spec/dummy/bin/spring +0 -17
  207. data/spec/dummy/config/application.rb +0 -26
  208. data/spec/dummy/config/boot.rb +0 -3
  209. data/spec/dummy/config/environments/development.rb +0 -41
  210. data/spec/dummy/config/environments/production.rb +0 -79
  211. data/spec/dummy/config/initializers/assets.rb +0 -11
  212. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  213. data/spec/dummy/config/initializers/session_store.rb +0 -3
  214. data/spec/dummy/config/initializers/to_time_preserves_timezone.rb +0 -10
  215. data/spec/dummy/config/routes.rb +0 -58
  216. data/spec/dummy/config/secrets.yml +0 -22
  217. data/spec/dummy/db/seeds.rb +0 -7
  218. data/spec/dummy/public/robots.txt +0 -5
  219. data/spec/raygun/raygun_spec.rb +0 -47
  220. /data/spec/{dummy → rails_applications/6.1.4}/app/assets/images/.keep +0 -0
  221. /data/spec/{dummy → rails_applications/6.1.4}/app/controllers/concerns/.keep +0 -0
  222. /data/spec/{dummy/app/mailers → rails_applications/6.1.4/app/models/concerns}/.keep +0 -0
  223. /data/spec/{dummy/app/models/.keep → rails_applications/6.1.4/db/test.sqlite3} +0 -0
  224. /data/spec/{dummy/app/models/concerns → rails_applications/6.1.4/lib/assets}/.keep +0 -0
  225. /data/spec/{dummy/lib/assets → rails_applications/6.1.4/lib/tasks}/.keep +0 -0
  226. /data/spec/{dummy/lib/tasks/.keep → rails_applications/6.1.4/public/apple-touch-icon-precomposed.png} +0 -0
  227. /data/spec/{dummy/log/.keep → rails_applications/6.1.4/public/apple-touch-icon.png} +0 -0
  228. /data/spec/{dummy → rails_applications/6.1.4}/public/favicon.ico +0 -0
  229. /data/spec/{dummy/vendor/assets/javascripts → rails_applications/6.1.4/storage}/.keep +0 -0
  230. /data/spec/{dummy/vendor/assets/stylesheets → rails_applications/7.1.3/app/assets/images}/.keep +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2f7f89265a480906faf2353b4f6e0ad1207b957a762d9ded90c3dce1cf6de308
4
- data.tar.gz: d55e52bdce42f91f1bc6aea0d907cef723f066986020a9e02083a07068e1cae3
3
+ metadata.gz: 60ac385b98484429b3f056b123dd5fc409ad08974c9d851e727c4a1dbed74cee
4
+ data.tar.gz: 2f3a754c2a3fe0ce1d3392096255e5006e234af786d00b9ebb09cd2465180b55
5
5
  SHA512:
6
- metadata.gz: 96e29176ec12a4a293ae82caf7540aff4da236163c4f8f8ae05875940d25682e3a0dc6c53c14b69851a9565f2d2d483fc07b789e206f0c51a85be94dcf2f8d26
7
- data.tar.gz: 3fbab1145ac50d07e6bb470b6b8db559aff108a963c43535b3c63b84168e4f60f7d61ea35b4f502d955bdc43e004f8379cc8858a96a5aa3ff38611cca57605a4
6
+ metadata.gz: a3c0c8d72fdf503814b2a01f95b41c307037c830bd1aeaa3949a7d54931a438508d4271651ac5eff877949bcd71cee75c1b21780a179fc8fa5aa9963e576167f
7
+ data.tar.gz: e0c7d182af82124987f8b1cd6000f075e39f57e06078e75876a8fde3461fdf0ed43135104770f3695421f9d7b74b290ef1f5d662e199a911a5c29a7b6bffa7dc
@@ -0,0 +1,48 @@
1
+ name: Tests
2
+ on: [push, pull_request]
3
+ jobs:
4
+ test:
5
+ name: Run tests
6
+ runs-on: ubuntu-20.04
7
+ strategy:
8
+ fail-fast: false
9
+ matrix:
10
+ ruby: ["3.0", 3.1, 3.2, 3.3]
11
+ gemfile:
12
+ - gemfiles/rails_6.gemfile
13
+ - gemfiles/rails_7.gemfile
14
+ - gemfiles/rails_7_sidekiq_6.gemfile
15
+ include:
16
+ - ruby: "3.0"
17
+ gemfile: gemfiles/rails_6.gemfile
18
+ - ruby: "3.0"
19
+ gemfile: gemfiles/rails_7.gemfile
20
+ - ruby: 3.1
21
+ gemfile: gemfiles/rails_6.gemfile
22
+ - ruby: 3.1
23
+ gemfile: gemfiles/rails_7.gemfile
24
+ - ruby: 3.2
25
+ gemfile: gemfiles/rails_6.gemfile
26
+ - ruby: 3.2
27
+ gemfile: gemfiles/rails_7.gemfile
28
+ - ruby: 3.3
29
+ gemfile: gemfiles/rails_6.gemfile
30
+ - ruby: 3.3
31
+ gemfile: gemfiles/rails_7.gemfile
32
+
33
+ env:
34
+ BUNDLE_GEMFILE: ${{ matrix.gemfile }}
35
+
36
+ steps:
37
+ - uses: actions/checkout@v4
38
+
39
+ - uses: ruby/setup-ruby@v1
40
+ with:
41
+ bundler: 2.3
42
+ bundler-cache: true
43
+ ruby-version: ${{ matrix.ruby }}
44
+
45
+ - run: bundle install
46
+
47
+ - name: Run tests
48
+ run: bundle exec rake
data/.gitignore CHANGED
@@ -1,21 +1,22 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
18
- spec/dummy/log
19
-
20
- # JetBrains
21
- .idea
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ gemfiles/*.lock
8
+ InstalledFiles
9
+ _yardoc
10
+ coverage
11
+ doc/
12
+ lib/bundler/man
13
+ pkg
14
+ rdoc
15
+ spec/reports
16
+ test/tmp
17
+ test/version_tmp
18
+ tmp
19
+ spec/rails_applications/*/log
20
+
21
+ # JetBrains
22
+ .idea
data/.rspec CHANGED
@@ -1 +1 @@
1
- --require spec_helper
1
+ --require spec_helper
data/Appraisals ADDED
@@ -0,0 +1,19 @@
1
+ appraise "rails-6" do
2
+ gem "rails", "6.1.4"
3
+ gem "sqlite3", "~> 1.4"
4
+ gem "sidekiq", ">= 7"
5
+ end
6
+
7
+ appraise "rails-7" do
8
+ gem "rails", "7.1.3"
9
+ gem "sqlite3", "~> 1.4"
10
+ gem "importmap-rails"
11
+ gem "sidekiq", ">= 7"
12
+ end
13
+
14
+ appraise "rails-7-sidekiq-6" do
15
+ gem "rails", "7.1.3"
16
+ gem "sqlite3", "~> 1.4"
17
+ gem "importmap-rails"
18
+ gem "sidekiq", "~> 6.5"
19
+ end
data/CHANGELOG.md CHANGED
@@ -1,130 +1,169 @@
1
- ## 3.2.5 (15/03/2021):
2
- - Bug fix: Ensure tags passed into track_exception are not persisted ([#164](https://github.com/MindscapeHQ/raygun4ruby/pull/164))
3
-
4
- ## 3.2.4 (11/02/2021):
5
- - Set sidekiq tag on sidekiq errors ([#161](https://github.com/MindscapeHQ/raygun4ruby/pull/161))
6
-
7
- ## 3.2.2 (10/06/2020):
8
- - Introduce support for Raygun APM exceptions correlation ([#154](https://github.com/MindscapeHQ/raygun4ruby/pull/154))
9
-
10
- ## 3.2.1 (25/02/2019):
11
- Bugfix:
12
- - Remove Ruby 2.3 syntax to retain support for Ruby >= 2.0 ([#148](https://github.com/MindscapeHQ/raygun4ruby/pull/148))
13
-
14
- ## 3.2.0 (21/02/2019):
15
- Bugfix:
16
- - Fix NoMethodError Exception: undefined method `include?' for nil:NilClass in `JavascriptExceptionTracking` class. Thanks @yamanaltereh for this ([#141](https://github.com/MindscapeHQ/raygun4ruby/pull/141))
17
- - Fix ([#145](https://github.com/MindscapeHQ/raygun4ruby/issues/145)), "raygun4ruby will load pry if it is in the gem bundle". Thanks to @eoinkelly for reporting this
18
-
19
- Feature:
20
- - If you have recorded a large number of Breadcrumbs, or just very large ones, Raygun4Ruby will now only send up to 100KB of them instead of all of them, potentially going over the 128KB payload limit Raygun accepts ([#147](https://github.com/MindscapeHQ/raygun4ruby/pull/147))
21
-
22
- ## 3.1.1 (16/01/2019):
23
- Bugfix:
24
- - Don't attempt to modify response unless JS api key is present
25
- - Don't attempt to modify response unless it responds to indexing ([])
26
- - See PR ([#140](https://github.com/MindscapeHQ/raygun4ruby/pull/140))
27
-
28
- ## 3.1.0 (15/01/2019):
29
-
30
- Feature:
31
- - Ability to automatically configure Raygun4JS on the client side by injecting it into outbound HTML pages. Thanks @MikeRogers0 for this ([#138](https://github.com/MindscapeHQ/raygun4ruby/pull/138))
32
-
33
- ## 3.0.0 (18/12/2018):
34
- Breaking changes:
35
- Parameter filters are now applied if you are using the `filter_payload_with_whitelist` functionality. Previously if this was set to true the parameter filtering was bailed out of ([#136](https://github.com/MindscapeHQ/raygun4ruby/pull/136/files))
36
-
37
- ## 2.7.1 (11/06/2018)
38
- This is a patch release to update the required ruby version to correctly be 2.0 or greater
39
-
40
- ## 2.7.0 (19/02/2018)
41
-
42
- Features
43
- - Add configuration option to control network timeouts when sending error reports, default value is 10 seconds ([#129](https://github.com/MindscapeHQ/raygun4ruby/pull/129))
44
-
45
- ## 2.6.0 (25/10/2017)
46
-
47
- Features
48
- - Enhanced debug logging to assist in resolving issues from support requests ([#128](https://github.com/MindscapeHQ/raygun4ruby/pull/128))
49
-
50
- ## 2.5.0 (04/10/2017)
51
-
52
- Features
53
- - Teach tags configuration how to handle a proc to allow dynamically settings tags ([#127](https://github.com/MindscapeHQ/raygun4ruby/pull/127))
54
-
55
- Bugfixes
56
- - Fix crash when recording breadcrumb with uninitialized store ([#126](https://github.com/MindscapeHQ/raygun4ruby/pull/126))
57
- - Make raw data handling more robust and fix in unicorn ([#125](https://github.com/MindscapeHQ/raygun4ruby/pull/125))
58
- - Backwards compatible affected_user_identifier_methods ([#120](https://github.com/MindscapeHQ/raygun4ruby/pull/120))
59
-
60
- ## 2.4.1 (29/08/2017)
61
-
62
- Bugfixes
63
- - Fix crash in `Client#raw_data` method when `rack.input` buffer is missing `pos` method
64
-
65
- ## 2.4.0 (31/07/2017)
66
-
67
- Features
68
- - Add functionality to track affected user/customer in Sidekiq jobs, refer to the README for more information, under the "Affected User Tracking/Customers in Sidekiq" heading ([#121](https://github.com/MindscapeHQ/raygun4ruby/pull/121))
69
-
70
- ## 2.3.0 (09/05/2017)"
71
-
72
- Bugfixes
73
- - Fix issue preventing affected users/customers for a crash report from showing up in the affected users/customers page ([#119](https://github.com/MindscapeHQ/raygun4ruby/pull/119))
74
-
75
- ## 2.2.0 (05/05/2017)
76
-
77
- Features
78
- - Opt in support for sending exceptions in a background thread to not block web request thread during IO ([#117](https://github.com/MindscapeHQ/raygun4ruby/pull/117))
79
-
80
- Bugfixes
81
- - Don't attempt to read raw data during GET requests or if rack.input buffer is empty
82
-
83
- ## 2.1.0 (27/04/2017)
84
-
85
- Features
86
- - Ability to record breadcrumbs in your code that will be sent to Raygun along with a raised exception ([#113](https://github.com/MindscapeHQ/raygun4ruby/pull/113))
87
-
88
- ## 2.0.0 (20/04/2017)
89
-
90
- Bugfixes:
91
- - Fix broken handling of raw request body reading in Rack applications ([#116](https://github.com/MindscapeHQ/raygun4ruby/pull/116))
92
- - This is a breaking change to how raw data was being read before so it requires a major version bump
93
- - Raw request data reading is now disabled by default and can be enabled via the `record_raw_data` configuration option
94
-
95
- Since this is a major version bump this release also deprecates ruby versions < 2.0
96
-
97
- ## 1.5.0 (16/03/2017)
98
-
99
- Features
100
- - Send utcOffset with Raygun payload to calculate local server time in Raygun dashboard ([#112](https://github.com/MindscapeHQ/raygun4ruby/pull/112))
101
-
102
- ## 1.4.0 (14/03/2017)
103
-
104
- Features:
105
- - Raygun API url is now configurable via `Configuration.api_url` ([#111](https://github.com/MindscapeHQ/raygun4ruby/pull/111))
106
- - Added support for `Exception#cause` to be tracked as `innerError` on Raygun. Only supported on Ruby >= 2.1 ([#107](https://github.com/MindscapeHQ/raygun4ruby/pull/107))
107
-
108
- ## 1.3.0 (10/03/2017)
109
-
110
- Features:
111
- - Improve affected user handling to let you specify all Raygun parameters, identifier, email, first name, full name and uuid. See [README.md](https://github.com/MindscapeHQ/raygun4ruby#affected-user-tracking) for details ([#34](https://github.com/MindscapeHQ/raygun4ruby/pull/34))
112
- - Pass a user object as the third parameter to `Raygun.track_exception` to have affected user tracking/customers for manually tracked exceptions, see the above link for more information on configuring this ([#106](https://github.com/MindscapeHQ/raygun4ruby/pull/106))
113
- - If the exception instance responds to `:raygun_custom_data` that method will be called and the return value merged into the `custom_data` hash sent to Raygun. For convenience a `Raygun::Error` class is provided that takes this custom data as a second argument ([#101](https://github.com/MindscapeHQ/raygun4ruby/pull/101))
114
- - Allowed `Configuration.custom_data` to be set to a proc to allow a global custom data hook for all exceptions. It is passed as arguments the exception and the environment hash ([#108](https://github.com/MindscapeHQ/raygun4ruby/pull/108))
115
- - Added `Configuration.debug` to enable logging the reason why an exception was not reported ([#109](https://github.com/MindscapeHQ/raygun4ruby/pull/109))
116
-
117
- ## 1.2.1 (09/03/2017)
118
-
119
- Bugfixes:
120
- - dup input hashes before applying whitelist filtering, previously this was modifying the contents of `action_dispatch.request.parameters` ([#105](https://github.com/MindscapeHQ/raygun4ruby/pull/105))
121
-
122
- ## 1.2.0 (09/03/2017)
123
-
124
- Features:
125
- - Added two new configuration options, `filter_payload_with_whitelist` and `whitelist_payload_shape` ([#100](https://github.com/MindscapeHQ/raygun4ruby/pull/100))
126
- - See [README.md](https://github.com/MindscapeHQ/raygun4ruby#filtering-the-payload-by-whitelist) for an example of how to use them
127
- - When raygun4ruby encounters an exception trying to track an exception it will try once to send that exception to Raygun so you are notified ([#104](https://github.com/MindscapeHQ/raygun4ruby/pull/104))
128
-
129
- Bugfixes:
130
- - raygun4ruby will no longer crash and suppress app exceptions when the API key is not configured ([#87](https://github.com/MindscapeHQ/raygun4ruby/pull/87))
1
+ ## 4.0.0.pre (prerelease):
2
+
3
+ - BREAKING CHANGE: Remove support for end-of-life Ruby verisons and Rails versions prior to 6.0.0
4
+ - Bug fix: Fix issue with breadcrumbs not being sent to Raygun when `send_in_background` is enabled (thanks to @jjb for the bug report)
5
+ - Updates testing to reflect the above
6
+ - Use `Kernel.caller` when backtrace is not available (thanks to @TSMMark)
7
+
8
+ ## 3.2.6 (17/03/2021):
9
+
10
+ - Bug fix: Rename Testable class to DemoException to ensure it is added to the bundle ([#166](https://github.com/MindscapeHQ/raygun4ruby/pull/166))
11
+
12
+ ## 3.2.5 (15/03/2021):
13
+
14
+ - Bug fix: Ensure tags passed into track_exception are not persisted ([#164](https://github.com/MindscapeHQ/raygun4ruby/pull/164))
15
+
16
+ ## 3.2.4 (11/02/2021):
17
+
18
+ - Set sidekiq tag on sidekiq errors ([#161](https://github.com/MindscapeHQ/raygun4ruby/pull/161))
19
+
20
+ ## 3.2.2 (10/06/2020):
21
+
22
+ - Introduce support for Raygun APM exceptions correlation ([#154](https://github.com/MindscapeHQ/raygun4ruby/pull/154))
23
+
24
+ ## 3.2.1 (25/02/2019):
25
+
26
+ Bugfix:
27
+
28
+ - Remove Ruby 2.3 syntax to retain support for Ruby >= 2.0 ([#148](https://github.com/MindscapeHQ/raygun4ruby/pull/148))
29
+
30
+ ## 3.2.0 (21/02/2019):
31
+
32
+ Bugfix:
33
+
34
+ - Fix NoMethodError Exception: undefined method `include?' for nil:NilClass in `JavascriptExceptionTracking` class. Thanks @yamanaltereh for this ([#141](https://github.com/MindscapeHQ/raygun4ruby/pull/141))
35
+ - Fix ([#145](https://github.com/MindscapeHQ/raygun4ruby/issues/145)), "raygun4ruby will load pry if it is in the gem bundle". Thanks to @eoinkelly for reporting this
36
+
37
+ Feature:
38
+
39
+ - If you have recorded a large number of Breadcrumbs, or just very large ones, Raygun4Ruby will now only send up to 100KB of them instead of all of them, potentially going over the 128KB payload limit Raygun accepts ([#147](https://github.com/MindscapeHQ/raygun4ruby/pull/147))
40
+
41
+ ## 3.1.1 (16/01/2019):
42
+
43
+ Bugfix:
44
+
45
+ - Don't attempt to modify response unless JS api key is present
46
+ - Don't attempt to modify response unless it responds to indexing ([])
47
+ - See PR ([#140](https://github.com/MindscapeHQ/raygun4ruby/pull/140))
48
+
49
+ ## 3.1.0 (15/01/2019):
50
+
51
+ Feature: - Ability to automatically configure Raygun4JS on the client side by injecting it into outbound HTML pages. Thanks @MikeRogers0 for this ([#138](https://github.com/MindscapeHQ/raygun4ruby/pull/138))
52
+
53
+ ## 3.0.0 (18/12/2018):
54
+
55
+ Breaking changes:
56
+ Parameter filters are now applied if you are using the `filter_payload_with_whitelist` functionality. Previously if this was set to true the parameter filtering was bailed out of ([#136](https://github.com/MindscapeHQ/raygun4ruby/pull/136/files))
57
+
58
+ ## 2.7.1 (11/06/2018)
59
+
60
+ This is a patch release to update the required ruby version to correctly be 2.0 or greater
61
+
62
+ ## 2.7.0 (19/02/2018)
63
+
64
+ Features
65
+
66
+ - Add configuration option to control network timeouts when sending error reports, default value is 10 seconds ([#129](https://github.com/MindscapeHQ/raygun4ruby/pull/129))
67
+
68
+ ## 2.6.0 (25/10/2017)
69
+
70
+ Features
71
+
72
+ - Enhanced debug logging to assist in resolving issues from support requests ([#128](https://github.com/MindscapeHQ/raygun4ruby/pull/128))
73
+
74
+ ## 2.5.0 (04/10/2017)
75
+
76
+ Features
77
+
78
+ - Teach tags configuration how to handle a proc to allow dynamically settings tags ([#127](https://github.com/MindscapeHQ/raygun4ruby/pull/127))
79
+
80
+ Bugfixes
81
+
82
+ - Fix crash when recording breadcrumb with uninitialized store ([#126](https://github.com/MindscapeHQ/raygun4ruby/pull/126))
83
+ - Make raw data handling more robust and fix in unicorn ([#125](https://github.com/MindscapeHQ/raygun4ruby/pull/125))
84
+ - Backwards compatible affected_user_identifier_methods ([#120](https://github.com/MindscapeHQ/raygun4ruby/pull/120))
85
+
86
+ ## 2.4.1 (29/08/2017)
87
+
88
+ Bugfixes
89
+
90
+ - Fix crash in `Client#raw_data` method when `rack.input` buffer is missing `pos` method
91
+
92
+ ## 2.4.0 (31/07/2017)
93
+
94
+ Features
95
+
96
+ - Add functionality to track affected user/customer in Sidekiq jobs, refer to the README for more information, under the "Affected User Tracking/Customers in Sidekiq" heading ([#121](https://github.com/MindscapeHQ/raygun4ruby/pull/121))
97
+
98
+ ## 2.3.0 (09/05/2017)"
99
+
100
+ Bugfixes
101
+
102
+ - Fix issue preventing affected users/customers for a crash report from showing up in the affected users/customers page ([#119](https://github.com/MindscapeHQ/raygun4ruby/pull/119))
103
+
104
+ ## 2.2.0 (05/05/2017)
105
+
106
+ Features
107
+
108
+ - Opt in support for sending exceptions in a background thread to not block web request thread during IO ([#117](https://github.com/MindscapeHQ/raygun4ruby/pull/117))
109
+
110
+ Bugfixes
111
+
112
+ - Don't attempt to read raw data during GET requests or if rack.input buffer is empty
113
+
114
+ ## 2.1.0 (27/04/2017)
115
+
116
+ Features
117
+
118
+ - Ability to record breadcrumbs in your code that will be sent to Raygun along with a raised exception ([#113](https://github.com/MindscapeHQ/raygun4ruby/pull/113))
119
+
120
+ ## 2.0.0 (20/04/2017)
121
+
122
+ Bugfixes:
123
+
124
+ - Fix broken handling of raw request body reading in Rack applications ([#116](https://github.com/MindscapeHQ/raygun4ruby/pull/116))
125
+ - This is a breaking change to how raw data was being read before so it requires a major version bump
126
+ - Raw request data reading is now disabled by default and can be enabled via the `record_raw_data` configuration option
127
+
128
+ Since this is a major version bump this release also deprecates ruby versions < 2.0
129
+
130
+ ## 1.5.0 (16/03/2017)
131
+
132
+ Features
133
+
134
+ - Send utcOffset with Raygun payload to calculate local server time in Raygun dashboard ([#112](https://github.com/MindscapeHQ/raygun4ruby/pull/112))
135
+
136
+ ## 1.4.0 (14/03/2017)
137
+
138
+ Features:
139
+
140
+ - Raygun API url is now configurable via `Configuration.api_url` ([#111](https://github.com/MindscapeHQ/raygun4ruby/pull/111))
141
+ - Added support for `Exception#cause` to be tracked as `innerError` on Raygun. Only supported on Ruby >= 2.1 ([#107](https://github.com/MindscapeHQ/raygun4ruby/pull/107))
142
+
143
+ ## 1.3.0 (10/03/2017)
144
+
145
+ Features:
146
+
147
+ - Improve affected user handling to let you specify all Raygun parameters, identifier, email, first name, full name and uuid. See [README.md](https://github.com/MindscapeHQ/raygun4ruby#affected-user-tracking) for details ([#34](https://github.com/MindscapeHQ/raygun4ruby/pull/34))
148
+ - Pass a user object as the third parameter to `Raygun.track_exception` to have affected user tracking/customers for manually tracked exceptions, see the above link for more information on configuring this ([#106](https://github.com/MindscapeHQ/raygun4ruby/pull/106))
149
+ - If the exception instance responds to `:raygun_custom_data` that method will be called and the return value merged into the `custom_data` hash sent to Raygun. For convenience a `Raygun::Error` class is provided that takes this custom data as a second argument ([#101](https://github.com/MindscapeHQ/raygun4ruby/pull/101))
150
+ - Allowed `Configuration.custom_data` to be set to a proc to allow a global custom data hook for all exceptions. It is passed as arguments the exception and the environment hash ([#108](https://github.com/MindscapeHQ/raygun4ruby/pull/108))
151
+ - Added `Configuration.debug` to enable logging the reason why an exception was not reported ([#109](https://github.com/MindscapeHQ/raygun4ruby/pull/109))
152
+
153
+ ## 1.2.1 (09/03/2017)
154
+
155
+ Bugfixes:
156
+
157
+ - dup input hashes before applying whitelist filtering, previously this was modifying the contents of `action_dispatch.request.parameters` ([#105](https://github.com/MindscapeHQ/raygun4ruby/pull/105))
158
+
159
+ ## 1.2.0 (09/03/2017)
160
+
161
+ Features:
162
+
163
+ - Added two new configuration options, `filter_payload_with_whitelist` and `whitelist_payload_shape` ([#100](https://github.com/MindscapeHQ/raygun4ruby/pull/100))
164
+ - See [README.md](https://github.com/MindscapeHQ/raygun4ruby#filtering-the-payload-by-whitelist) for an example of how to use them
165
+ - When raygun4ruby encounters an exception trying to track an exception it will try once to send that exception to Raygun so you are notified ([#104](https://github.com/MindscapeHQ/raygun4ruby/pull/104))
166
+
167
+ Bugfixes:
168
+
169
+ - raygun4ruby will no longer crash and suppress app exceptions when the API key is not configured ([#87](https://github.com/MindscapeHQ/raygun4ruby/pull/87))
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in raygun4ruby.gemspec
4
- gemspec
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in raygun4ruby.gemspec
4
+ gemspec
data/LICENSE.txt CHANGED
@@ -1,22 +1,22 @@
1
- Copyright (c) 2013 Nik Wakelin
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+ Copyright (c) 2013 Nik Wakelin
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.