honeybadger 1.6.2 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,4 +1,12 @@
1
- ## Honeybadger 1.7.0 (Unreleased) ##
1
+ ## Honeybadger 1.7.0 ##
2
+
3
+ * Added a custom grouping option
4
+
5
+ *Joshua Wood*
6
+
7
+ * Added option to run capistrano deploy notification asynchronously
8
+
9
+ *Sergey Efremov*
2
10
 
3
11
  ## Honeybadger 1.6.2 ##
4
12
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- honeybadger (1.6.2)
4
+ honeybadger (1.7.0)
5
5
  json
6
6
 
7
7
  GEM
@@ -52,7 +52,7 @@ GEM
52
52
  net-ssh-gateway (1.1.0)
53
53
  net-ssh (>= 1.99.1)
54
54
  rack (1.1.3)
55
- rake (10.0.3)
55
+ rake (10.0.4)
56
56
  rspec (2.12.0)
57
57
  rspec-core (~> 2.12.0)
58
58
  rspec-expectations (~> 2.12.0)
data/README.md CHANGED
@@ -191,6 +191,44 @@ request's life cycle. Honeybadger will discard the data when a
191
191
  request completes, so that the next request will start with a blank
192
192
  slate.
193
193
 
194
+ ## Custom error grouping
195
+
196
+ By default, we group errors in two ways:
197
+
198
+ 1. "Strict" grouping generates a fingerprint using a hash of the error
199
+ class, component (if available), and the entire backtrace. When the
200
+ backtrace changes, a new error is created by Honeybadger.
201
+ 2. "Loose" grouping uses the error class, component (if available), and
202
+ the application trace.
203
+
204
+ You can choose to use strict or loose grouping from your Honeybadger
205
+ project settings page. If you want to use your own grouping strategy,
206
+ you can, using the `fingerprint` configuration option. When configured,
207
+ a custom fingerprint will be sent with each error notification, and
208
+ we'll use that for grouping errors instead of the default:
209
+
210
+ Honeybadger.configure do |config|
211
+ ...
212
+
213
+ # See lib/honeybadger/notice.rb for the options that are available
214
+ # on the notice object
215
+ config.fingerprint do |notice|
216
+ [notice[:error_class], notice[:component], notice[:backtrace].to_s].join(':')
217
+ end
218
+
219
+ end
220
+
221
+ You can also pass the fingerprint as a string when notifying Honeybadger
222
+ directly:
223
+
224
+ Honeybadger.notify(StandardError.new('oh noes!'), :fingerprint => 'asdf')
225
+
226
+ The fingerprint can be any Ruby object that responds to #to_s, and will
227
+ be sent to Honeybadger as a SHA1 hash.
228
+
229
+ *Please note that to make use of this option, you must have **strict**
230
+ grouping disabled on your project settings page.*
231
+
194
232
  ## Tracking deploys
195
233
 
196
234
  Honeybadger has an API to keep track of project deployments. Whenever
@@ -222,9 +260,17 @@ can set the `:honeybadger_deploy_task` in your *config/deploy.rb* file:
222
260
  set :honeybadger_deploy_task, 'honeybadger:deploy_with_environment'
223
261
  ```
224
262
 
263
+ You can run deploy notification task asynchronously.
264
+ Just add `:honeybadger_async_notify` in your *config/deploy.rb* file:
265
+
266
+ ```ruby
267
+ set :honeybadger_async_notify, true
268
+ ````
269
+
225
270
  If you would prefer to notify Honeybadger locally without using rake,
226
271
  check out our blog post: [Honeybadger and Capistrano: the metal way](http://honeybadger.io/blog/2012/10/06/honeybadger-and-capistrano/).
227
272
 
273
+
228
274
  ### Heroku
229
275
 
230
276
  Deploy tracking via Heroku is implemented using Heroku's free [deploy
@@ -7,54 +7,51 @@ PATH
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- appraisal (0.5.1)
10
+ appraisal (0.5.2)
11
11
  bundler
12
12
  rake
13
- aruba (0.5.1)
14
- childprocess (~> 0.3.6)
13
+ aruba (0.5.3)
14
+ childprocess (>= 0.3.6)
15
15
  cucumber (>= 1.1.1)
16
16
  rspec-expectations (>= 2.7.0)
17
- bourne (1.3.0)
18
- mocha (= 0.13.0)
17
+ bourne (1.4.0)
18
+ mocha (~> 0.13.2)
19
19
  builder (3.1.4)
20
- capistrano (2.14.1)
20
+ capistrano (2.15.4)
21
21
  highline
22
22
  net-scp (>= 1.0.0)
23
23
  net-sftp (>= 2.0.0)
24
24
  net-ssh (>= 2.0.14)
25
25
  net-ssh-gateway (>= 1.1.0)
26
- childprocess (0.3.6)
27
- ffi (~> 1.0, >= 1.0.6)
28
- cucumber (1.2.1)
26
+ childprocess (0.3.9)
27
+ ffi (~> 1.0, >= 1.0.11)
28
+ cucumber (1.2.5)
29
29
  builder (>= 2.1.2)
30
30
  diff-lcs (>= 1.1.3)
31
- gherkin (~> 2.11.0)
32
- json (>= 1.4.6)
31
+ gherkin (~> 2.11.7)
32
+ multi_json (~> 1.3)
33
33
  diff-lcs (1.1.3)
34
34
  fakeweb (1.3.0)
35
- ffi (1.3.1)
36
- ffi (1.3.1-java)
37
- gherkin (2.11.5)
38
- json (>= 1.4.6)
39
- gherkin (2.11.5-java)
40
- json (>= 1.4.6)
41
- highline (1.6.15)
42
- json (1.7.6)
43
- json (1.7.6-java)
35
+ ffi (1.8.1)
36
+ gherkin (2.11.8)
37
+ multi_json (~> 1.3)
38
+ highline (1.6.19)
39
+ json (1.8.0)
44
40
  metaclass (0.0.1)
45
- mocha (0.13.0)
41
+ mocha (0.13.3)
46
42
  metaclass (~> 0.0.1)
47
- net-scp (1.0.4)
48
- net-ssh (>= 1.99.1)
49
- net-sftp (2.0.5)
50
- net-ssh (>= 2.0.9)
51
- net-ssh (2.6.3)
52
- net-ssh-gateway (1.1.0)
53
- net-ssh (>= 1.99.1)
54
- rack (1.4.4)
55
- rack-protection (1.3.2)
43
+ multi_json (1.7.6)
44
+ net-scp (1.1.1)
45
+ net-ssh (>= 2.6.5)
46
+ net-sftp (2.1.2)
47
+ net-ssh (>= 2.6.5)
48
+ net-ssh (2.6.7)
49
+ net-ssh-gateway (1.2.0)
50
+ net-ssh (>= 2.6.5)
51
+ rack (1.5.2)
52
+ rack-protection (1.5.0)
56
53
  rack
57
- rake (10.0.3)
54
+ rake (10.0.4)
58
55
  rspec (2.12.0)
59
56
  rspec-core (~> 2.12.0)
60
57
  rspec-expectations (~> 2.12.0)
@@ -62,18 +59,17 @@ GEM
62
59
  rspec-core (2.12.2)
63
60
  rspec-expectations (2.12.1)
64
61
  diff-lcs (~> 1.1.3)
65
- rspec-mocks (2.12.1)
66
- sham_rack (1.3.4)
62
+ rspec-mocks (2.12.2)
63
+ sham_rack (1.3.6)
67
64
  rack
68
65
  shoulda (2.11.3)
69
- sinatra (1.3.3)
70
- rack (~> 1.3, >= 1.3.6)
71
- rack-protection (~> 1.2)
66
+ sinatra (1.3.5)
67
+ rack (~> 1.4)
68
+ rack-protection (~> 1.3)
72
69
  tilt (~> 1.3, >= 1.3.3)
73
- tilt (1.3.3)
70
+ tilt (1.4.1)
74
71
 
75
72
  PLATFORMS
76
- java
77
73
  ruby
78
74
 
79
75
  DEPENDENCIES
@@ -24,43 +24,40 @@ GEM
24
24
  childprocess (~> 0.3.6)
25
25
  cucumber (>= 1.1.1)
26
26
  rspec-expectations (>= 2.7.0)
27
- bourne (1.1.2)
28
- mocha (= 0.10.5)
27
+ bourne (1.4.0)
28
+ mocha (~> 0.13.2)
29
29
  builder (3.1.4)
30
- capistrano (2.13.5)
30
+ capistrano (2.14.2)
31
31
  highline
32
32
  net-scp (>= 1.0.0)
33
33
  net-sftp (>= 2.0.0)
34
34
  net-ssh (>= 2.0.14)
35
35
  net-ssh-gateway (>= 1.1.0)
36
- childprocess (0.3.6)
37
- ffi (~> 1.0, >= 1.0.6)
38
- cucumber (1.2.1)
36
+ childprocess (0.3.9)
37
+ ffi (~> 1.0, >= 1.0.11)
38
+ cucumber (1.2.3)
39
39
  builder (>= 2.1.2)
40
40
  diff-lcs (>= 1.1.3)
41
- gherkin (~> 2.11.0)
42
- json (>= 1.4.6)
41
+ gherkin (~> 2.11.6)
42
+ multi_json (~> 1.3)
43
43
  diff-lcs (1.1.3)
44
44
  fakeweb (1.3.0)
45
- ffi (1.2.0)
46
- ffi (1.2.0-java)
47
- gherkin (2.11.5)
48
- json (>= 1.4.6)
49
- gherkin (2.11.5-java)
50
- json (>= 1.4.6)
51
- highline (1.6.15)
52
- json (1.7.5)
53
- json (1.7.5-java)
45
+ ffi (1.8.1)
46
+ gherkin (2.11.6)
47
+ json (>= 1.7.6)
48
+ highline (1.6.18)
49
+ json (1.8.0)
54
50
  metaclass (0.0.1)
55
- mocha (0.10.5)
51
+ mocha (0.13.3)
56
52
  metaclass (~> 0.0.1)
57
- net-scp (1.0.4)
58
- net-ssh (>= 1.99.1)
59
- net-sftp (2.0.5)
60
- net-ssh (>= 2.0.9)
61
- net-ssh (2.6.2)
62
- net-ssh-gateway (1.1.0)
63
- net-ssh (>= 1.99.1)
53
+ multi_json (1.7.6)
54
+ net-scp (1.1.1)
55
+ net-ssh (>= 2.6.5)
56
+ net-sftp (2.1.1)
57
+ net-ssh (>= 2.6.5)
58
+ net-ssh (2.6.7)
59
+ net-ssh-gateway (1.2.0)
60
+ net-ssh (>= 2.6.5)
64
61
  rack (1.1.3)
65
62
  rails (2.3.14)
66
63
  actionmailer (= 2.3.14)
@@ -74,20 +71,19 @@ GEM
74
71
  rspec-core (~> 2.12.0)
75
72
  rspec-expectations (~> 2.12.0)
76
73
  rspec-mocks (~> 2.12.0)
77
- rspec-core (2.12.0)
78
- rspec-expectations (2.12.0)
74
+ rspec-core (2.12.2)
75
+ rspec-expectations (2.12.1)
79
76
  diff-lcs (~> 1.1.3)
80
- rspec-mocks (2.12.0)
77
+ rspec-mocks (2.12.2)
81
78
  sham_rack (1.3.4)
82
79
  rack
83
80
  shoulda (2.11.3)
84
81
  sinatra (1.2.8)
85
82
  rack (~> 1.1)
86
83
  tilt (>= 1.2.2, < 2.0)
87
- tilt (1.3.3)
84
+ tilt (1.4.1)
88
85
 
89
86
  PLATFORMS
90
- java
91
87
  ruby
92
88
 
93
89
  DEPENDENCIES
@@ -34,66 +34,64 @@ GEM
34
34
  activemodel (= 3.0.17)
35
35
  activesupport (= 3.0.17)
36
36
  activesupport (3.0.17)
37
- appraisal (0.5.1)
37
+ appraisal (0.5.2)
38
38
  bundler
39
39
  rake
40
40
  arel (2.0.10)
41
- aruba (0.5.1)
42
- childprocess (~> 0.3.6)
41
+ aruba (0.5.3)
42
+ childprocess (>= 0.3.6)
43
43
  cucumber (>= 1.1.1)
44
44
  rspec-expectations (>= 2.7.0)
45
- better_errors (0.5.0)
45
+ backports (3.3.1)
46
+ better_errors (0.9.0)
46
47
  coderay (>= 1.0.0)
47
48
  erubis (>= 2.6.6)
48
- bourne (1.1.2)
49
- mocha (= 0.10.5)
49
+ bourne (1.4.0)
50
+ mocha (~> 0.13.2)
50
51
  builder (2.1.2)
51
- capistrano (2.13.5)
52
+ capistrano (2.15.4)
52
53
  highline
53
54
  net-scp (>= 1.0.0)
54
55
  net-sftp (>= 2.0.0)
55
56
  net-ssh (>= 2.0.14)
56
57
  net-ssh-gateway (>= 1.1.0)
57
- childprocess (0.3.6)
58
- ffi (~> 1.0, >= 1.0.6)
59
- coderay (1.0.8)
60
- cucumber (1.2.1)
58
+ childprocess (0.3.9)
59
+ ffi (~> 1.0, >= 1.0.11)
60
+ coderay (1.0.9)
61
+ cucumber (1.2.5)
61
62
  builder (>= 2.1.2)
62
63
  diff-lcs (>= 1.1.3)
63
- gherkin (~> 2.11.0)
64
- json (>= 1.4.6)
64
+ gherkin (~> 2.11.7)
65
+ multi_json (~> 1.3)
65
66
  diff-lcs (1.1.3)
66
67
  erubis (2.6.6)
67
68
  abstract (>= 1.0.0)
68
69
  fakeweb (1.3.0)
69
- ffi (1.2.0)
70
- ffi (1.2.0-java)
71
- gherkin (2.11.5)
72
- json (>= 1.4.6)
73
- gherkin (2.11.5-java)
74
- json (>= 1.4.6)
75
- highline (1.6.15)
70
+ ffi (1.8.1)
71
+ gherkin (2.11.8)
72
+ multi_json (~> 1.3)
73
+ highline (1.6.19)
76
74
  i18n (0.5.0)
77
- json (1.7.5)
78
- json (1.7.5-java)
79
- mail (2.2.19)
75
+ json (1.8.0)
76
+ mail (2.2.20)
80
77
  activesupport (>= 2.3.6)
81
78
  i18n (>= 0.4.0)
82
79
  mime-types (~> 1.16)
83
80
  treetop (~> 1.4.8)
84
81
  metaclass (0.0.1)
85
- mime-types (1.19)
86
- mocha (0.10.5)
82
+ mime-types (1.23)
83
+ mocha (0.13.3)
87
84
  metaclass (~> 0.0.1)
88
- net-scp (1.0.4)
89
- net-ssh (>= 1.99.1)
90
- net-sftp (2.0.5)
91
- net-ssh (>= 2.0.9)
92
- net-ssh (2.6.2)
93
- net-ssh-gateway (1.1.0)
94
- net-ssh (>= 1.99.1)
85
+ multi_json (1.7.6)
86
+ net-scp (1.1.1)
87
+ net-ssh (>= 2.6.5)
88
+ net-sftp (2.1.2)
89
+ net-ssh (>= 2.6.5)
90
+ net-ssh (2.6.7)
91
+ net-ssh-gateway (1.2.0)
92
+ net-ssh (>= 2.6.5)
95
93
  polyglot (0.3.3)
96
- rack (1.2.5)
94
+ rack (1.2.8)
97
95
  rack-mount (0.6.14)
98
96
  rack (>= 1.0.0)
99
97
  rack-test (0.5.7)
@@ -112,30 +110,32 @@ GEM
112
110
  rake (>= 0.8.7)
113
111
  rdoc (~> 3.4)
114
112
  thor (~> 0.14.4)
115
- rake (10.0.2)
116
- rdoc (3.12)
113
+ rake (10.0.4)
114
+ rdoc (3.12.2)
117
115
  json (~> 1.4)
118
116
  rspec (2.12.0)
119
117
  rspec-core (~> 2.12.0)
120
118
  rspec-expectations (~> 2.12.0)
121
119
  rspec-mocks (~> 2.12.0)
122
- rspec-core (2.12.0)
123
- rspec-expectations (2.12.0)
120
+ rspec-core (2.12.2)
121
+ rspec-expectations (2.12.1)
124
122
  diff-lcs (~> 1.1.3)
125
- rspec-mocks (2.12.0)
126
- sham_rack (1.3.4)
123
+ rspec-mocks (2.12.2)
124
+ sham_rack (1.3.6)
127
125
  rack
128
126
  shoulda (2.11.3)
129
- sinatra (1.0)
130
- rack (>= 1.0)
127
+ sinatra (1.2.9)
128
+ backports
129
+ rack (~> 1.1, < 1.5)
130
+ tilt (>= 1.2.2, < 2.0)
131
131
  thor (0.14.6)
132
- treetop (1.4.12)
132
+ tilt (1.4.1)
133
+ treetop (1.4.14)
133
134
  polyglot
134
135
  polyglot (>= 0.3.1)
135
- tzinfo (0.3.35)
136
+ tzinfo (0.3.37)
136
137
 
137
138
  PLATFORMS
138
- java
139
139
  ruby
140
140
 
141
141
  DEPENDENCIES
@@ -35,29 +35,29 @@ GEM
35
35
  activesupport (= 3.1.8)
36
36
  activesupport (3.1.8)
37
37
  multi_json (>= 1.0, < 1.3)
38
- appraisal (0.5.1)
38
+ appraisal (0.5.2)
39
39
  bundler
40
40
  rake
41
41
  arel (2.2.3)
42
- aruba (0.5.1)
43
- childprocess (~> 0.3.6)
42
+ aruba (0.5.3)
43
+ childprocess (>= 0.3.6)
44
44
  cucumber (>= 1.1.1)
45
45
  rspec-expectations (>= 2.7.0)
46
- better_errors (0.5.0)
46
+ better_errors (0.9.0)
47
47
  coderay (>= 1.0.0)
48
48
  erubis (>= 2.6.6)
49
- bourne (1.1.2)
50
- mocha (= 0.10.5)
49
+ bourne (1.4.0)
50
+ mocha (~> 0.13.2)
51
51
  builder (3.0.4)
52
- capistrano (2.13.5)
52
+ capistrano (2.15.4)
53
53
  highline
54
54
  net-scp (>= 1.0.0)
55
55
  net-sftp (>= 2.0.0)
56
56
  net-ssh (>= 2.0.14)
57
57
  net-ssh-gateway (>= 1.1.0)
58
- childprocess (0.3.6)
59
- ffi (~> 1.0, >= 1.0.6)
60
- coderay (1.0.8)
58
+ childprocess (0.3.9)
59
+ ffi (~> 1.0, >= 1.0.11)
60
+ coderay (1.0.9)
61
61
  cucumber (1.2.1)
62
62
  builder (>= 2.1.2)
63
63
  diff-lcs (>= 1.1.3)
@@ -66,42 +66,38 @@ GEM
66
66
  diff-lcs (1.1.3)
67
67
  erubis (2.7.0)
68
68
  fakeweb (1.3.0)
69
- ffi (1.2.0)
70
- ffi (1.2.0-java)
71
- gherkin (2.11.5)
72
- json (>= 1.4.6)
73
- gherkin (2.11.5-java)
74
- json (>= 1.4.6)
75
- highline (1.6.15)
76
- hike (1.2.1)
77
- i18n (0.6.1)
78
- json (1.7.5)
79
- json (1.7.5-java)
69
+ ffi (1.8.1)
70
+ gherkin (2.11.6)
71
+ json (>= 1.7.6)
72
+ highline (1.6.19)
73
+ hike (1.2.3)
74
+ i18n (0.6.4)
75
+ json (1.8.0)
80
76
  mail (2.3.3)
81
77
  i18n (>= 0.4.0)
82
78
  mime-types (~> 1.16)
83
79
  treetop (~> 1.4.8)
84
80
  metaclass (0.0.1)
85
- mime-types (1.19)
86
- mocha (0.10.5)
81
+ mime-types (1.23)
82
+ mocha (0.13.3)
87
83
  metaclass (~> 0.0.1)
88
84
  multi_json (1.2.0)
89
- net-scp (1.0.4)
90
- net-ssh (>= 1.99.1)
91
- net-sftp (2.0.5)
92
- net-ssh (>= 2.0.9)
93
- net-ssh (2.6.2)
94
- net-ssh-gateway (1.1.0)
95
- net-ssh (>= 1.99.1)
85
+ net-scp (1.1.1)
86
+ net-ssh (>= 2.6.5)
87
+ net-sftp (2.1.2)
88
+ net-ssh (>= 2.6.5)
89
+ net-ssh (2.6.7)
90
+ net-ssh-gateway (1.2.0)
91
+ net-ssh (>= 2.6.5)
96
92
  polyglot (0.3.3)
97
93
  rack (1.3.6)
98
94
  rack-cache (1.2)
99
95
  rack (>= 0.4)
100
96
  rack-mount (0.8.3)
101
97
  rack (>= 1.0.0)
102
- rack-protection (1.2.0)
98
+ rack-protection (1.5.0)
103
99
  rack
104
- rack-ssl (1.3.2)
100
+ rack-ssl (1.3.3)
105
101
  rack
106
102
  rack-test (0.6.2)
107
103
  rack (>= 1.0)
@@ -120,21 +116,21 @@ GEM
120
116
  rake (>= 0.8.7)
121
117
  rdoc (~> 3.4)
122
118
  thor (~> 0.14.6)
123
- rake (10.0.2)
124
- rdoc (3.12)
119
+ rake (10.0.4)
120
+ rdoc (3.12.2)
125
121
  json (~> 1.4)
126
122
  rspec (2.12.0)
127
123
  rspec-core (~> 2.12.0)
128
124
  rspec-expectations (~> 2.12.0)
129
125
  rspec-mocks (~> 2.12.0)
130
- rspec-core (2.12.0)
131
- rspec-expectations (2.12.0)
126
+ rspec-core (2.12.2)
127
+ rspec-expectations (2.12.1)
132
128
  diff-lcs (~> 1.1.3)
133
- rspec-mocks (2.12.0)
134
- sham_rack (1.3.4)
129
+ rspec-mocks (2.12.2)
130
+ sham_rack (1.3.6)
135
131
  rack
136
132
  shoulda (2.11.3)
137
- sinatra (1.3.2)
133
+ sinatra (1.3.3)
138
134
  rack (~> 1.3, >= 1.3.6)
139
135
  rack-protection (~> 1.2)
140
136
  tilt (~> 1.3, >= 1.3.3)
@@ -143,14 +139,13 @@ GEM
143
139
  rack (~> 1.0)
144
140
  tilt (~> 1.1, != 1.3.0)
145
141
  thor (0.14.6)
146
- tilt (1.3.3)
147
- treetop (1.4.12)
142
+ tilt (1.4.1)
143
+ treetop (1.4.14)
148
144
  polyglot
149
145
  polyglot (>= 0.3.1)
150
- tzinfo (0.3.35)
146
+ tzinfo (0.3.37)
151
147
 
152
148
  PLATFORMS
153
- java
154
149
  ruby
155
150
 
156
151
  DEPENDENCIES