bugsnag-maglev- 2.8.12

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 (65) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.gitignore +52 -0
  4. data/.rspec +3 -0
  5. data/.travis.yml +15 -0
  6. data/CHANGELOG.md +425 -0
  7. data/CONTRIBUTING.md +43 -0
  8. data/Gemfile +2 -0
  9. data/LICENSE.txt +20 -0
  10. data/README.md +804 -0
  11. data/Rakefile +29 -0
  12. data/VERSION +1 -0
  13. data/bugsnag.gemspec +32 -0
  14. data/lib/bugsnag.rb +129 -0
  15. data/lib/bugsnag/capistrano.rb +7 -0
  16. data/lib/bugsnag/capistrano2.rb +32 -0
  17. data/lib/bugsnag/configuration.rb +129 -0
  18. data/lib/bugsnag/delay/resque.rb +21 -0
  19. data/lib/bugsnag/delayed_job.rb +57 -0
  20. data/lib/bugsnag/delivery.rb +18 -0
  21. data/lib/bugsnag/delivery/synchronous.rb +51 -0
  22. data/lib/bugsnag/delivery/thread_queue.rb +53 -0
  23. data/lib/bugsnag/deploy.rb +35 -0
  24. data/lib/bugsnag/helpers.rb +127 -0
  25. data/lib/bugsnag/mailman.rb +28 -0
  26. data/lib/bugsnag/meta_data.rb +7 -0
  27. data/lib/bugsnag/middleware/callbacks.rb +19 -0
  28. data/lib/bugsnag/middleware/mailman.rb +13 -0
  29. data/lib/bugsnag/middleware/rack_request.rb +72 -0
  30. data/lib/bugsnag/middleware/rails2_request.rb +52 -0
  31. data/lib/bugsnag/middleware/rails3_request.rb +42 -0
  32. data/lib/bugsnag/middleware/rake.rb +23 -0
  33. data/lib/bugsnag/middleware/sidekiq.rb +13 -0
  34. data/lib/bugsnag/middleware/warden_user.rb +39 -0
  35. data/lib/bugsnag/middleware_stack.rb +98 -0
  36. data/lib/bugsnag/notification.rb +452 -0
  37. data/lib/bugsnag/rack.rb +53 -0
  38. data/lib/bugsnag/rails.rb +66 -0
  39. data/lib/bugsnag/rails/action_controller_rescue.rb +62 -0
  40. data/lib/bugsnag/rails/active_record_rescue.rb +20 -0
  41. data/lib/bugsnag/rails/controller_methods.rb +44 -0
  42. data/lib/bugsnag/railtie.rb +78 -0
  43. data/lib/bugsnag/rake.rb +25 -0
  44. data/lib/bugsnag/resque.rb +40 -0
  45. data/lib/bugsnag/sidekiq.rb +38 -0
  46. data/lib/bugsnag/tasks.rb +3 -0
  47. data/lib/bugsnag/tasks/bugsnag.cap +48 -0
  48. data/lib/bugsnag/tasks/bugsnag.rake +89 -0
  49. data/lib/bugsnag/version.rb +3 -0
  50. data/lib/generators/bugsnag/bugsnag_generator.rb +24 -0
  51. data/rails/init.rb +3 -0
  52. data/spec/code_spec.rb +86 -0
  53. data/spec/fixtures/crashes/end_of_file.rb +9 -0
  54. data/spec/fixtures/crashes/short_file.rb +1 -0
  55. data/spec/fixtures/crashes/start_of_file.rb +9 -0
  56. data/spec/fixtures/middleware/internal_info_setter.rb +11 -0
  57. data/spec/fixtures/middleware/public_info_setter.rb +11 -0
  58. data/spec/fixtures/tasks/Rakefile +15 -0
  59. data/spec/helper_spec.rb +144 -0
  60. data/spec/integration_spec.rb +110 -0
  61. data/spec/middleware_spec.rb +181 -0
  62. data/spec/notification_spec.rb +822 -0
  63. data/spec/rack_spec.rb +56 -0
  64. data/spec/spec_helper.rb +53 -0
  65. metadata +198 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: bbb520de3de939df04ed745ae9ea728dc3f83584
4
+ data.tar.gz: 75593e5b6a085a7aca6007c44d980c63adfafda3
5
+ SHA512:
6
+ metadata.gz: 51032362d454860809e51a5fb762ddcfe4a4ff50508d407a3fe0dfe9276dfc24c5178f0946e5171114e335b64cd16b02c9adc679b0a214efb260f0bfab404bb1
7
+ data.tar.gz: 84ac684c513bd89ff9ba8923f39423d5d550ebf6884fb6ebc650fb7b2ede0e05aab42e917e3e7b7e7124f8ea94002bb52992ce24a1adf82e9bd7ddc16a964b11
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
@@ -0,0 +1,52 @@
1
+ # rcov generated
2
+ coverage
3
+
4
+ # rdoc generated
5
+ rdoc
6
+
7
+ # yard generated
8
+ doc
9
+ .yardoc
10
+
11
+ # bundler
12
+ .bundle
13
+ Gemfile.lock
14
+
15
+ # jeweler generated
16
+ pkg
17
+ *.gem
18
+
19
+ vendor
20
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
21
+ #
22
+ # * Create a file at ~/.gitignore
23
+ # * Include files you want ignored
24
+ # * Run: git config --global core.excludesfile ~/.gitignore
25
+ #
26
+ # After doing this, these files will be ignored in all your git projects,
27
+ # saving you from having to 'pollute' every project you touch with them
28
+ #
29
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
30
+ #
31
+ # For MacOS:
32
+ #
33
+ #.DS_Store
34
+
35
+ # For TextMate
36
+ #*.tmproj
37
+ #tmtags
38
+
39
+ # For emacs:
40
+ #*~
41
+ #\#*
42
+ #.\#*
43
+
44
+ # For vim:
45
+ #*.swp
46
+
47
+ # For redcar:
48
+ #.redcar
49
+
50
+ # For rubinius:
51
+ #*.rbc
52
+ bin
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --backtrace
2
+ --color
3
+ --format doc
@@ -0,0 +1,15 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.0
4
+ - 2.0.0
5
+ - 1.9.3
6
+ - jruby-18mode
7
+ - jruby-19mode
8
+ - 1.8.7
9
+ before_install:
10
+ - gem update --system 2.1.11
11
+ - gem --version
12
+ notifications:
13
+ hipchat:
14
+ rooms:
15
+ secure: cv5V8ivZExOywKL9n0CODnxy9m5u4rQ5ZMYK8XHPIoqQKkvH9DQOeb2ItW2aM2kxeupJEcQEy1Eu4sYMGhyzKUNdqbFtQBhDYxRwSAgTRIkGlHQCnznyExHWZbGfDB8y/m11HiZ1wuPuqs8ZZ+VccNb4bwJKbhPTbf1RZ+GPeU8=
@@ -0,0 +1,425 @@
1
+ Changelog
2
+ =========
3
+
4
+ 2.8.12
5
+ ------
6
+
7
+ - Ensure timeout is set when configured
8
+ - Allow on premise installations to easily send deploy notifications
9
+
10
+ 2.8.11
11
+ ------
12
+
13
+ - Better handle errors in ActiveRecord transactions (thanks @arthurnn!)
14
+
15
+ 2.8.10
16
+ ------
17
+
18
+ - Remove multi_json from deploy
19
+
20
+ 2.8.9
21
+ -----
22
+
23
+ - Remove dependency on `multi_json`, fall back to the `json` gem for Ruby < 1.9
24
+
25
+ 2.8.8
26
+ -----
27
+
28
+ - Pull IP address from action_dispatch.remote_ip if available
29
+
30
+ 2.8.7
31
+ -----
32
+
33
+ - Fix for old rails 3.2 not having runner defined in the railtie
34
+ - Support for rails API
35
+ - Added support for ca_file for dealing with SSL issues
36
+ - Threadsafe ignore_classes
37
+ - Add app type
38
+ - Dont send cookies in their own tab
39
+
40
+ 2.8.6
41
+ -----
42
+
43
+ - Don't report SystemExit from `rails runner`
44
+ - Fix for stacktrace including custom bugsnag middleware
45
+ - Fix reporting of errors in rails-defined rake tasks
46
+
47
+ 2.8.5
48
+ -----
49
+
50
+ - Fix performance problems in cleanup_obj
51
+
52
+
53
+ 2.8.4
54
+ -----
55
+
56
+ - Automatically catch errors in `rails runner`
57
+ - Accept meta_data from any exception that deines `bugsnag_meta_data`
58
+
59
+ 2.8.3
60
+ -----
61
+
62
+ - Delay forking the delivery thread
63
+
64
+ 2.8.2
65
+ -----
66
+ - Fix various threading issues during library initialization
67
+
68
+ 2.8.1
69
+ -----
70
+ - Exclude cookies and authorization headers by default
71
+ - Include rails exclusion list at the right time
72
+
73
+ 2.8.0
74
+ -----
75
+ - Make meta_data available to before_notify hooks
76
+ - Fix bug with rails param filters
77
+ - Fix encoding error in exception message
78
+
79
+ 2.7.1
80
+ -----
81
+ - Add rake task to create a Heroku deploy hook
82
+
83
+ 2.7.0
84
+ -----
85
+ - Fix configuration of http timeouts
86
+ - Fix configuration of http proxies
87
+ - Remove dependency on httparty
88
+ - Allow for symbols in rack env
89
+
90
+ 2.6.1
91
+ -----
92
+ - Fix Ruby 1.8 payload delivery bug (thanks @colin!)
93
+
94
+ 2.6.0
95
+ -----
96
+ - Collect and send snippets of source code to Bugsnag
97
+ - Fix resque integration
98
+ - Allow configuration of delivery method (from the default `:thread_queue` to `:synchronous`)
99
+ - Fix parameter filtering in rails 2
100
+ - Allow pathname in project root
101
+
102
+ 2.5.1
103
+ -----
104
+ - Collect and send HTTP headers to bugsnag to help debugging
105
+
106
+ 2.5.0
107
+ -----
108
+ - Allow access to the metadata object in before bugsnag notify callbacks
109
+ - Dont send the rack env by default
110
+
111
+ 2.4.1
112
+ ------
113
+
114
+ - Ensure filtering behaviour matches rails' for symbol filters
115
+ - Fix Rails 4 sessions appearing in Custom tab instead of its own ([144](https://github.com/bugsnag/bugsnag-ruby/issues/144))
116
+
117
+ 2.4.0
118
+ -----
119
+ - Allow filters to be regular expressions (thanks @tamird)
120
+ - Ensure filtering behavior matches rails' when importing filters from
121
+ `Rails.configuration.filter_parameters`
122
+
123
+ 2.3.0
124
+ -----
125
+ - Use ssl by default (Thanks @dkubb)
126
+
127
+ 2.2.2
128
+ -----
129
+ - Add additional ignored classes
130
+ - Check all chained exceptions on an error for ignored classes
131
+
132
+ 2.2.1
133
+ -----
134
+ - Fix occasional crash when reading rack params.
135
+ - Don't strip files with bugsnag in the name.
136
+
137
+ 2.2.0
138
+ -----
139
+ - Move Bugsnag notifications onto a background thread.
140
+
141
+ 2.1.0
142
+ -----
143
+ - Add job detail support to delayed_job integration (thanks dtaniwaki!)
144
+
145
+ 2.0.3
146
+ -----
147
+ - Load the env in the deploy rake task if there is no api key set
148
+
149
+ 2.0.2
150
+ -----
151
+ - Fix encoding issue when ensuring utf8 string is valid
152
+
153
+ 2.0.1
154
+ -----
155
+ - Fix capistrano v3 after 2.0.0
156
+
157
+ 2.0.0
158
+ -----
159
+ - BREAKING: capistrano integration requires explicit configuration to avoid loading rails env (15x faster to notify)
160
+ - Sidekiq 3 support
161
+ - java.lang.Throwable support for jruby
162
+ - Show non-serializable objects as '[Object]' instead of 'null'.
163
+ - Fix delayed job 2.x
164
+ - Fix rake support
165
+ - Fix missing notifications caused by invalid utf8
166
+
167
+ 1.8.8
168
+ -----
169
+ - Prepare 'severity' feature for release
170
+
171
+ 1.8.7
172
+ -----
173
+ - Fix capistrano when `rake` is not set. #87
174
+ - Fix capistrano when `Rails` is not loaded. #85
175
+ - Various cleanup
176
+
177
+ 1.8.6
178
+ -----
179
+ - Proxy support in the bugsnag deploy notification rake task
180
+
181
+ 1.8.5
182
+ -----
183
+ - Capistrano3 support (for real)
184
+ - delayed_job support
185
+
186
+ 1.8.4
187
+ -----
188
+ - Support for per-notification api keys
189
+
190
+ 1.8.3
191
+ -----
192
+ - Capistrano3 support
193
+ - Allow `set :bugsnag_api_key, foo` in capistrano
194
+
195
+ 1.8.2
196
+ -----
197
+ - Notify all exceptions in mailman and sidekiq
198
+
199
+ 1.8.1
200
+ -----
201
+ - Fix Rails2 middleware issue that stopped automatic metadata collection
202
+
203
+ 1.8.0
204
+ -----
205
+ - Move away from Jeweler
206
+ - Support for Exception#cause in ruby 2.1.0
207
+
208
+ 1.7.0
209
+ -----
210
+ - Allow users to configure app type
211
+ - Send severity of error to bugsnag
212
+ - Allo users to configure users in a structured way for search etc.
213
+
214
+ 1.6.5
215
+ -----
216
+ - Send hostname to Bugsnag
217
+
218
+ 1.6.4
219
+ -----
220
+ - Fix load order issue with Resque
221
+
222
+ 1.6.3
223
+ -----
224
+ - Deal with SSL properly for deploy notifications on ruby <2.0
225
+
226
+ 1.6.2
227
+ -----
228
+ - Notify about exceptions that occur in ActiveRecord `commit` and `rollback`
229
+ callbacks (these are usually swallowed silently by rails)
230
+
231
+ 1.6.1
232
+ -----
233
+ - Ensure sidekiq, mailman and rake hooks respect the `ignore_classes` setting
234
+ - Persist sidekiq and mailman meta-data through each job, so it can show up
235
+ in manual Bugsnag.notify calls
236
+
237
+ 1.6.0
238
+ -----
239
+ - Add support for catching crashes in [mailman](https://github.com/titanous/mailman) apps
240
+ - Automatically enable Bugsnag's resque failure backend
241
+ - Add automatic rake integration for rails apps
242
+
243
+ 1.5.3
244
+ -----
245
+ - Deal with self-referential meta data correctly.
246
+ - Dont load the environment when performing a deploy with capistrano.
247
+
248
+ 1.5.2
249
+ -----
250
+ - Dont send rack.request.form_vars as it is a copy of form_hash and it may contain sensitive params.
251
+
252
+ 1.5.1
253
+ -----
254
+ - Fix rake block arguments for tasks that need them.
255
+
256
+ 1.5.0
257
+ -----
258
+ - Add proxy support for http requests to Bugsnag.
259
+ - Read the API key from the environment for Heroku users
260
+
261
+ 1.4.2
262
+ -----
263
+ - Add HTTP Referer to the request tab on rack apps
264
+
265
+ 1.4.0
266
+ -----
267
+ - Add ignore_user_agents to ignore certain user agents
268
+ - Change bugsnag middleware order to have Callbacks last
269
+ - Allow nil values to be sent to bugsnag
270
+
271
+ 1.3.8
272
+ -----
273
+ - Add truncated only when a field has been truncated
274
+
275
+ 1.3.7
276
+ -----
277
+ - Fix warden bug where user id is an array of ids
278
+ - Filter get params from URLs as well as meta_data
279
+
280
+ 1.3.6
281
+ -----
282
+ - Filter out meta-data keys containing the word 'secret' by default
283
+
284
+ 1.3.5
285
+ -----
286
+ - Fixed bug in rake integration with ruby 1.9 hash syntax
287
+
288
+ 1.3.4
289
+ -----
290
+ - Fix nil bug in windows backtraces
291
+
292
+ 1.3.3
293
+ -----
294
+ - Support windows-style paths in backtraces
295
+ - Fix bug with `before_bugsnag_notify` in Rails 2
296
+
297
+ 1.3.2
298
+ -----
299
+ - Notify will now build exceptions if a non-exception is passed in.
300
+
301
+ 1.3.1
302
+ -----
303
+ - Add support for Bugsnag rake integration
304
+
305
+ 1.3.0
306
+ ------
307
+ - By default we notify in all release stages now
308
+ - Return the notification in notify_or_ignore
309
+
310
+ 1.2.18
311
+ ------
312
+ - Add support for bugsnag meta data in exceptions.
313
+
314
+ 1.2.17
315
+ ------
316
+ - Clear the before bugsnag notify callbacks on sidekiq when a job is complete
317
+
318
+ 1.2.16
319
+ ------
320
+ - Allow lambda functions in config.ignore_classes
321
+
322
+ 1.2.15
323
+ ------
324
+ - Add stacktrace to internal bugsnag logging output
325
+ - Protect against metadata not being a hash when truncation takes place
326
+
327
+ 1.2.14
328
+ ------
329
+ - Add debug method, configuration option to help debug issues
330
+ - Better protection against bad unicode strings in metadata
331
+
332
+ 1.2.13
333
+ ------
334
+ - Protect against invalid unicode strings in metadata
335
+
336
+ 1.2.12
337
+ ------
338
+ - Fixed minor HTTParty dependency issue
339
+
340
+ 1.2.11
341
+ ------
342
+ - Send rails version with exceptions
343
+ - Protect against nil params object when errors happen in rack
344
+
345
+ 1.2.10
346
+ ------
347
+ - Added Rack HTTP method (GET, POST, etc) to request tab
348
+
349
+ 1.2.9
350
+ -----
351
+ - Fixed an issue with Warden userIds not being reported properly.
352
+
353
+ 1.2.8
354
+ -----
355
+ - Added `disable` method to Bugsnag middleware, allows you to force-disable
356
+ built-in Bugsnag middleware.
357
+
358
+ 1.2.7
359
+ -----
360
+ - Protect against rare exception-unwrapping infinite loop
361
+ (only in some exceptions using the `original_exception` pattern)
362
+
363
+ 1.2.6
364
+ -----
365
+ - Fix for rails 2 request data extraction
366
+ - Deploy environment customization support (thanks coop)
367
+ - Ensure Bugsnag rails 3 middleware runs before initializers
368
+
369
+ 1.2.5
370
+ -----
371
+ - Show a warning if no release_stage is set when delivering exceptions
372
+ - Require resque plugin in a safer way
373
+
374
+ 1.2.4
375
+ -----
376
+ - Automatically set the release_stage in a safer way on rack/rails
377
+
378
+ 1.2.3
379
+ -----
380
+ - Re-add support for sending bugsnag notifications via resque
381
+
382
+ 1.2.2
383
+ -----
384
+ - Add rspec tests for rack middleware
385
+
386
+ 1.2.1
387
+ -----
388
+ - Fix a bug where before/after hooks were not being fired
389
+
390
+ 1.2.0
391
+ -----
392
+ - Added Bugsnag Middleware and callback, easier ways to add custom data to
393
+ your exceptions
394
+ - Added automatic Sidekiq integration
395
+ - Added automatic Devise integration
396
+ - Comprehensive rspec tests
397
+
398
+ 1.1.5
399
+ -----
400
+ - Fix minor internal version number parsing bug
401
+
402
+ 1.1.4
403
+ -----
404
+ - Move Bugsnag rack middleware later in the middleware stack, fixes
405
+ issue where development exception may not have been delivered
406
+
407
+ 1.1.3
408
+ -----
409
+ - Fix multi_json conflict with rails 3.1
410
+ - Make bugsnag_request_data public for easier EventMachine integration
411
+ (thanks fblee)
412
+
413
+ 1.1.2
414
+ -----
415
+ - Fix multi_json gem dependency conflicts
416
+
417
+ 1.1.1
418
+ -----
419
+ - Capistrano deploy tracking support
420
+ - More reliable project_root detection for non-rails rack apps
421
+ - Support for sending test exceptions from rake (`rake bugsnag:test_exception`)
422
+
423
+ 1.1.0
424
+ -----
425
+ - First public release