sentry-raven 2.1.3 → 3.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.craft.yml +19 -0
- data/.scripts/bump-version.rb +5 -0
- data/CHANGELOG.md +703 -0
- data/Gemfile +37 -0
- data/Makefile +3 -0
- data/README.md +116 -18
- data/Rakefile +30 -0
- data/exe/raven +32 -0
- data/lib/raven/backtrace.rb +16 -6
- data/lib/raven/base.rb +17 -4
- data/lib/raven/breadcrumbs/{activesupport.rb → active_support_logger.rb} +9 -3
- data/lib/raven/breadcrumbs/logger.rb +2 -92
- data/lib/raven/breadcrumbs/sentry_logger.rb +73 -0
- data/lib/raven/breadcrumbs.rb +3 -1
- data/lib/raven/cli.rb +31 -43
- data/lib/raven/client.rb +39 -17
- data/lib/raven/configuration.rb +277 -37
- data/lib/raven/context.rb +17 -11
- data/lib/raven/core_ext/object/deep_dup.rb +57 -0
- data/lib/raven/core_ext/object/duplicable.rb +153 -0
- data/lib/raven/event.rb +172 -233
- data/lib/raven/helpers/deprecation_helper.rb +17 -0
- data/lib/raven/instance.rb +51 -25
- data/lib/raven/integrations/delayed_job.rb +18 -18
- data/lib/raven/integrations/rack-timeout.rb +11 -5
- data/lib/raven/integrations/rack.rb +36 -19
- data/lib/raven/integrations/rails/active_job.rb +52 -20
- data/lib/raven/integrations/rails/backtrace_cleaner.rb +29 -0
- data/lib/raven/integrations/rails/controller_transaction.rb +13 -0
- data/lib/raven/integrations/rails/overrides/debug_exceptions_catcher.rb +2 -2
- data/lib/raven/integrations/rails.rb +24 -8
- data/lib/raven/integrations/rake.rb +6 -1
- data/lib/raven/integrations/sidekiq/cleanup_middleware.rb +13 -0
- data/lib/raven/integrations/sidekiq/error_handler.rb +38 -0
- data/lib/raven/integrations/sidekiq.rb +6 -57
- data/lib/raven/interface.rb +2 -2
- data/lib/raven/interfaces/exception.rb +0 -2
- data/lib/raven/interfaces/http.rb +0 -2
- data/lib/raven/interfaces/message.rb +1 -1
- data/lib/raven/interfaces/single_exception.rb +0 -2
- data/lib/raven/interfaces/stack_trace.rb +19 -27
- data/lib/raven/linecache.rb +34 -17
- data/lib/raven/logger.rb +11 -18
- data/lib/raven/processor/cookies.rb +27 -7
- data/lib/raven/processor/http_headers.rb +18 -5
- data/lib/raven/processor/post_data.rb +16 -3
- data/lib/raven/processor/removecircularreferences.rb +12 -8
- data/lib/raven/processor/removestacktrace.rb +17 -6
- data/lib/raven/processor/sanitizedata.rb +88 -29
- data/lib/raven/processor/utf8conversion.rb +39 -14
- data/lib/raven/processor.rb +1 -1
- data/lib/raven/transports/http.rb +29 -21
- data/lib/raven/transports/stdout.rb +20 -0
- data/lib/raven/transports.rb +4 -8
- data/lib/raven/utils/context_filter.rb +42 -0
- data/lib/raven/utils/deep_merge.rb +6 -12
- data/lib/raven/utils/exception_cause_chain.rb +20 -0
- data/lib/raven/utils/real_ip.rb +1 -1
- data/lib/raven/utils/request_id.rb +16 -0
- data/lib/raven/version.rb +2 -2
- data/lib/sentry-raven-without-integrations.rb +6 -1
- data/lib/sentry_raven_without_integrations.rb +1 -0
- data/sentry-raven.gemspec +28 -0
- metadata +37 -103
- data/lib/raven/error.rb +0 -4
data/CHANGELOG.md
ADDED
@@ -0,0 +1,703 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## 3.1.2
|
4
|
+
|
5
|
+
- Fix Delayed::Plugins::Raven when job raises exception [#1057](https://github.com/getsentry/sentry-ruby/pull/1057)
|
6
|
+
- Merge hash instead of replacing the original value in user_context [#1064](https://github.com/getsentry/sentry-ruby/pull/1064)
|
7
|
+
- Don't exclude ActionView::MissingTemplate error by default [#1092](https://github.com/getsentry/sentry-ruby/pull/1092)
|
8
|
+
- Fix typo: much -> must for Raven::Event [#1106](https://github.com/getsentry/sentry-ruby/pull/1106)
|
9
|
+
- Fix undefined local variable or method logger [#1143](https://github.com/getsentry/sentry-ruby/pull/1143)
|
10
|
+
- Fixes [#1110](https://github.com/getsentry/sentry-ruby/issues/1110)
|
11
|
+
- fix format headers for sentry-raven [#1198](https://github.com/getsentry/sentry-ruby/pull/1198)
|
12
|
+
- Print deprecation message after sentry-raven is installed [#1206](https://github.com/getsentry/sentry-ruby/pull/1206)
|
13
|
+
|
14
|
+
## 3.1.1
|
15
|
+
|
16
|
+
**Feature**
|
17
|
+
|
18
|
+
- Add request id to headers if exists ([#1033](https://github.com/getsentry/sentry-ruby/pull/1033))
|
19
|
+
|
20
|
+
- Allow blocks on user_context ([#1023](https://github.com/getsentry/sentry-ruby/pull/1023))
|
21
|
+
|
22
|
+
- Enable configurable rack environment recorded parameters ([#860](https://github.com/getsentry/sentry-ruby/pull/860))
|
23
|
+
|
24
|
+
- Remove ActiveJob keys for both Sidekiq and DelayedJob ([#898](https://github.com/getsentry/sentry-ruby/pull/898))
|
25
|
+
|
26
|
+
**Fix**
|
27
|
+
|
28
|
+
- Remove circular dependency in transport/http.rb ([#1035](https://github.com/getsentry/sentry-ruby/pull/1035))
|
29
|
+
|
30
|
+
## 3.1.0
|
31
|
+
|
32
|
+
**Feature**
|
33
|
+
|
34
|
+
- Exclude all 4xx Rails errors ([#1004](https://github.com/getsentry/raven-ruby/pull/1004))
|
35
|
+
|
36
|
+
See the full list [here](https://github.com/getsentry/raven-ruby/blob/master/lib/raven/configuration.rb#L198-L219)
|
37
|
+
|
38
|
+
- Add some error context in `transport_failure_callback` ([#1003](https://github.com/getsentry/raven-ruby/pull/1003))
|
39
|
+
|
40
|
+
Before:
|
41
|
+
|
42
|
+
```ruby
|
43
|
+
config.transport_failure_callback = lambda { |event|
|
44
|
+
AdminMailer.email_admins("Oh god, it's on fire!", event).deliver_later
|
45
|
+
}
|
46
|
+
```
|
47
|
+
|
48
|
+
After:
|
49
|
+
|
50
|
+
```ruby
|
51
|
+
config.transport_failure_callback = lambda { |event, error|
|
52
|
+
AdminMailer.email_admins("Oh god, it's on fire because #{error.message}!", event).deliver_later
|
53
|
+
}
|
54
|
+
```
|
55
|
+
|
56
|
+
- Support cleaning up exception backtrace with customized backtrace_cleaner ([#1011](https://github.com/getsentry/raven-ruby/pull/1011))
|
57
|
+
|
58
|
+
The new config `backtrace_cleanup_callback` takes a lambda/proc object (default is `nil`) and will be called with exception's backtrace
|
59
|
+
|
60
|
+
```ruby
|
61
|
+
Raven.configure do |config|
|
62
|
+
config.backtrace_cleanup_callback = lambda do |backtrace|
|
63
|
+
Rails.backtrace_cleaner.clean(backtrace)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
```
|
67
|
+
|
68
|
+
And with the Rails integration, it'll automatically use a customized `Raven::Rails::BacktraceCleaner` to clean up exception's backtrace. It's basically Rails 6's [backtrace cleaner](https://github.com/rails/rails/blob/master/railties/lib/rails/backtrace_cleaner.rb) but without silencers.
|
69
|
+
|
70
|
+
The main reason to add this cleaner is to remove template methods from the trace, e.g.
|
71
|
+
|
72
|
+
```
|
73
|
+
app/views/welcome/view_error.html.erb in _app_views_welcome_view_error_html_erb__2807287320172182514_65600 at line 1
|
74
|
+
```
|
75
|
+
|
76
|
+
will become
|
77
|
+
|
78
|
+
```
|
79
|
+
app/views/welcome/view_error.html.erb at line 1
|
80
|
+
```
|
81
|
+
|
82
|
+
This can help Sentry group issues more accurately. See [#957](https://github.com/getsentry/raven-ruby/issues/957) for more information about this.
|
83
|
+
|
84
|
+
If you don't want this change, you can disable it with:
|
85
|
+
|
86
|
+
```ruby
|
87
|
+
Raven.configure do |config|
|
88
|
+
config.backtrace_cleanup_callback = nil
|
89
|
+
end
|
90
|
+
```
|
91
|
+
|
92
|
+
|
93
|
+
- Make dsn value accessable from config ([#1012](https://github.com/getsentry/raven-ruby/pull/1012))
|
94
|
+
|
95
|
+
You can now access the dsn value via `Raven.configuration.dsn`
|
96
|
+
|
97
|
+
**Deprecation**
|
98
|
+
|
99
|
+
- Deprecate dasherized filenames ([#1006](https://github.com/getsentry/raven-ruby/pull/1006))
|
100
|
+
|
101
|
+
If you're using
|
102
|
+
|
103
|
+
```ruby
|
104
|
+
gem 'sentry-raven', require: 'sentry-raven-without-integrations'
|
105
|
+
# or
|
106
|
+
require "sentry-raven-without-integrations"
|
107
|
+
```
|
108
|
+
|
109
|
+
you will start seeing deprecation warnings. Please change them into
|
110
|
+
|
111
|
+
```ruby
|
112
|
+
gem 'sentry-raven', require: 'sentry_raven_without_integrations'
|
113
|
+
# or
|
114
|
+
require "sentry_raven_without_integrations"
|
115
|
+
```
|
116
|
+
|
117
|
+
- Unify breadcrumb loggers activation ([#1016](https://github.com/getsentry/raven-ruby/pull/1016))
|
118
|
+
|
119
|
+
Currently, we activate our breadcrumb loggers differently:
|
120
|
+
|
121
|
+
```ruby
|
122
|
+
require "raven/breadcrumbs/sentry_logger"
|
123
|
+
Raven.configuration.rails_activesupport_breadcrumbs = true
|
124
|
+
```
|
125
|
+
|
126
|
+
It's not a nice user interface, so this PR adds a new configuration
|
127
|
+
option `breadcrumbs_logger` to improve this:
|
128
|
+
|
129
|
+
```ruby
|
130
|
+
Raven.configuration.breadcrumbs_logger = :sentry_logger
|
131
|
+
Raven.configuration.breadcrumbs_logger = :active_support_logger
|
132
|
+
Raven.configuration.breadcrumbs_logger = [:sentry_logger, :active_support_logger]
|
133
|
+
```
|
134
|
+
|
135
|
+
Please migrate to the new activation apporach, otherwise you'll see depraction warnings. And old ones will be dropped in version 4.0.
|
136
|
+
|
137
|
+
**Refactor**
|
138
|
+
|
139
|
+
- Accept non-string message in Event.from_exception ([#1005](https://github.com/getsentry/raven-ruby/pull/1005))
|
140
|
+
- Refactor event initialization ([#1010](https://github.com/getsentry/raven-ruby/pull/1010))
|
141
|
+
- Refactor sidekiq integration ([#1019](https://github.com/getsentry/raven-ruby/pull/1019))
|
142
|
+
|
143
|
+
**Fix**
|
144
|
+
|
145
|
+
- Replace sys_command usages in context.rb ([#1017](https://github.com/getsentry/raven-ruby/pull/1017))
|
146
|
+
- Fix merge error from rack-timeout raven_context on old releases ([#1007](https://github.com/getsentry/raven-ruby/pull/1007))
|
147
|
+
- Return value of `rescue_with_handler` when intercepting ActiveJob exceptions ([#1027](https://github.com/getsentry/raven-ruby/pull/1027))
|
148
|
+
|
149
|
+
## 3.0.4
|
150
|
+
|
151
|
+
- fix: Don't log warning messages when it doesn't need to (#1000)
|
152
|
+
- fix: Revert "Refactor Raven::Client class" (#1002)
|
153
|
+
|
154
|
+
## 3.0.3
|
155
|
+
|
156
|
+
- fix: Ensure Processor::Cookie can run after Processor::RemoveCircularReferences (#996)
|
157
|
+
- fix: Avoid mutating user passed in options (#994)
|
158
|
+
- fix: Fix/Refactor Raven::Cli (#989)
|
159
|
+
- ref: Refactor Raven::Client class (#995)
|
160
|
+
- It adds `Event#message_from_exception` and `Event#log_message` interfaces
|
161
|
+
|
162
|
+
## 3.0.2
|
163
|
+
|
164
|
+
- fix: Add gem target for craft
|
165
|
+
|
166
|
+
## 3.0.1
|
167
|
+
|
168
|
+
- fix: Improve SanitizeData processor (#984)
|
169
|
+
- fix: Masking cookies as key/pair instead of a single string (#983)
|
170
|
+
- fix: Transports classes' requiring issue (#986)
|
171
|
+
- fix: Frozen string issues (#977)
|
172
|
+
- feat: Officially support Rails 6 (#982)
|
173
|
+
|
174
|
+
3.0.0
|
175
|
+
----
|
176
|
+
|
177
|
+
* SDK now requires Ruby >= 2.3
|
178
|
+
* REF: Retain any literal "HTTP-" in header names [@elliterate, #950]
|
179
|
+
* REF: Delete JSON spec for recursive hashes [@ksylvest, #952]
|
180
|
+
* FEAT: Bump faraday version to latest [@ksylvest, #946]
|
181
|
+
|
182
|
+
2.13.0
|
183
|
+
----
|
184
|
+
|
185
|
+
* FIX: Sanitize event data before they are sent to async job. [@edariedl, #895]
|
186
|
+
* FIX: Serialization MongoDB ObjectId to JSON problem with gem delayed_job_mongoid conjunction. [@eagleas, #935]
|
187
|
+
* FEAT: Skip ActiveJob integration if there is a better one [@fsateler, #909]
|
188
|
+
* FIX: Bugs with send_event in asynchronous mode (#940) [@cstyles, #940]
|
189
|
+
|
190
|
+
2.12.3
|
191
|
+
----
|
192
|
+
|
193
|
+
* FIX: crash when Process.wait is used [@asBrettisay, #895]
|
194
|
+
|
195
|
+
2.12.2
|
196
|
+
----
|
197
|
+
|
198
|
+
* FIX: return tags/extra for [@rivayama, #931]
|
199
|
+
|
200
|
+
2.12.1
|
201
|
+
----
|
202
|
+
|
203
|
+
* FIX: undefined method `[]' for nil:NilClass [@HazAT, #932]
|
204
|
+
|
205
|
+
2.12.0
|
206
|
+
----
|
207
|
+
|
208
|
+
* FIX: Remove duplicate message when exception is emitted
|
209
|
+
* FIX: Frozen string bug in utf8conversation
|
210
|
+
* FEATURE: Allow block on tags_context and extra_context
|
211
|
+
|
212
|
+
2.11.3
|
213
|
+
----
|
214
|
+
|
215
|
+
* FIX: infinite backoff under pressure [@Bonias, #886]
|
216
|
+
|
217
|
+
2.11.2
|
218
|
+
----
|
219
|
+
|
220
|
+
* REF: Warn on 4xx error [@iloveitaly, #862]
|
221
|
+
|
222
|
+
2.11.1
|
223
|
+
----
|
224
|
+
|
225
|
+
* FIX: Call `to_s` on breadcrumb message [@halkeye, #914]
|
226
|
+
|
227
|
+
2.11.0
|
228
|
+
----
|
229
|
+
|
230
|
+
* FEATURE: Prepend the transaction around_action so libraries with controllers can alter the value. [@drcapulet, #887]
|
231
|
+
|
232
|
+
2.10.0
|
233
|
+
-----
|
234
|
+
|
235
|
+
* FEATURE: Added support for `SENTRY_ENVIRONMENT` [@mtsmfm, #910]
|
236
|
+
* FEATURE: Added support for `SENTRY_RELEASE` [@coorasse, #911]
|
237
|
+
|
238
|
+
2.9.0
|
239
|
+
-----
|
240
|
+
|
241
|
+
* FEATURE: Added `config.inspect_exception_causes_for_exclusion`. Determines if the exception cause should be inspected for `config.excluded_exceptions` option. [@effron, #872]
|
242
|
+
|
243
|
+
|
244
|
+
2.8.0
|
245
|
+
-----
|
246
|
+
|
247
|
+
* FEATURE: Added `config.before_send`. Provide a lambda or proc to this config setting, which will be `call`ed before sending an event to Sentry. Receives `event` and `hint` as parameters. `hint` is a hash `{:exception => ex | nil, :message => message | nil}`. [@hazat, #882]
|
248
|
+
|
249
|
+
2.7.4
|
250
|
+
-----
|
251
|
+
|
252
|
+
* BUGFIX: Correctly handle public only DSNs [@mitsuhiko, #847]
|
253
|
+
* BUGFIX: context attributes with nil raised error [@joker-777, 824]
|
254
|
+
* BUGFIX: Suppress warning about enabling dyno metadata in Heroku CI [@meganemura, #833]
|
255
|
+
|
256
|
+
2.7.3
|
257
|
+
-----
|
258
|
+
|
259
|
+
* BUGFIX: Fix proxy settings for Faraday [@Strnadj, #820]
|
260
|
+
* BUGFIX: Fix duplicated events in ActiveJob w/DelayedJob and Sidekiq [@BrentWheeldon, #815]
|
261
|
+
|
262
|
+
2.7.2
|
263
|
+
-----
|
264
|
+
|
265
|
+
* BUGFIX: GlobalIDs are now displayed correctly in Sidekiq contexts [@louim, #798]
|
266
|
+
* BUGFIX: If git is not installed, fail silently during release detection [@nateberkopec]
|
267
|
+
* BUGFIX: We do not support rack-timeout <= 0.2, fix errors when incompat version present [@nateberkopec]
|
268
|
+
* BUGFIX: Put cookies in the correct spot of event [@nateberkopec, #812]
|
269
|
+
* BUGFIX: Exception context is deep_merged [@janklimo, #782]
|
270
|
+
|
271
|
+
2.7.1
|
272
|
+
-----
|
273
|
+
|
274
|
+
* BUGFIX: Fixed LocalJumpError in Rails controllers [@nateberkopec w/@frodsan, #774]
|
275
|
+
|
276
|
+
2.7.0
|
277
|
+
-----
|
278
|
+
|
279
|
+
* FEATURE: Add random sampling. [@nateberkopec, #734]
|
280
|
+
* FEATURE: Transactions. See Context docs for usage. [@nateberkopec, #743]
|
281
|
+
* FEATURE: You can set the current environment for Sentry via `SENTRY_CURRENT_ENV` env variable. Useful if your staging environment's RACK_ENV is "production", for example. [@tijmenb, #736]
|
282
|
+
|
283
|
+
* BUGFIX: Fix wrapped classnames in old versions of Sidekiq and ActiveJob [@nateberkopec, #702]
|
284
|
+
* BUGFIX: Server names on Heroku were pretty useless before - now they follow the dyno name ("worker.1", "web.2") [@nateberkopec, #703]
|
285
|
+
* BUGFIX: ActiveJob::DeserializationError is now ignored by default. Not doing so can cause infinite loops if you are using an ActiveJob async callback. [@nateberkopec, #701]
|
286
|
+
* BUGFIX: Binary conversion to UTF-8 when binary is frozen is fixed [@nateberkopec, #757]
|
287
|
+
* BUGFIX: Our credit-card regex now matches Sentry's server behavior, which means it does not censor milliseconds since the epoch [@nateberkopec, #771]
|
288
|
+
|
289
|
+
* REFACTOR: We now use an updated port of Rails' deep_merge which should be 5-10% faster [@nateberkopec, #770]
|
290
|
+
* REFACTOR: Tests have been cleaned up, and now run in random order. [@nateberkopec]
|
291
|
+
* REFACTOR: Raven::Event has been refactored a bit [@nateberkopec]
|
292
|
+
|
293
|
+
2.6.3
|
294
|
+
-----
|
295
|
+
|
296
|
+
* BUGFIX: Fixed typo in the Heroku warning [@greysteil, #728]
|
297
|
+
* BUGFIX: Swallow IOErrors when reading the Rack request body [@nateberkopec]
|
298
|
+
* BUGFIX: Fix invalid UTF-8/circular references when using async [@nateberkopec, #730]
|
299
|
+
|
300
|
+
2.6.2
|
301
|
+
-----
|
302
|
+
|
303
|
+
* BUGFIX: If using the Sidekiq or DelayedJob adapters with ActiveJob, ActiveJob wouldn't re-raise upon capturing an exception. [@nateberkopec, 5b02ad4ff2]
|
304
|
+
|
305
|
+
* KNOWN ISSUE: When using `async`, Rack integration is not thread-safe [#721]
|
306
|
+
* KNOWN ISSUE: When using `async`, encoding errors may be raised [#725]
|
307
|
+
|
308
|
+
2.6.1
|
309
|
+
-----
|
310
|
+
|
311
|
+
* BUGFIX: Fix cases where ActionDispatch::RemoteIP would blow up during event creation [@cmoylan, #722]
|
312
|
+
* BUGFIX: In ActiveJob, don't report exceptions which can be rescued by rescue_from handlers [@bensheldon, #719]
|
313
|
+
|
314
|
+
2.6.0
|
315
|
+
-----
|
316
|
+
|
317
|
+
* FEATURE: raven-ruby now marks itself as the "ruby" logger by default, to match raven-js behavior [@nateberkopec]
|
318
|
+
* FEATURE: You may now override the default sanitization parameters [#712, @nateberkopec]
|
319
|
+
* FEATURE: Breadcrumb buffers are now publicly accessible [#686, @nateberkopec]
|
320
|
+
* FEATURE: We yell at you now if you're using Heroku but don't have runtime-dyno-metadata enabled [#715, @nateberkopec]
|
321
|
+
* FEATURE: project_root will always be set, regardless of framework [#716, @nateberkopec]
|
322
|
+
|
323
|
+
* BUGFIX: Request body and message limits now match Sentry server defaults [#714, @nateberkopec]
|
324
|
+
* BUGFIX: Sidekiq context now works as expected [#713, @nateberkopec]
|
325
|
+
* BUGFIX: Capture exceptions in ActiveJob when not using Sidekiq adapter [#709, #671, @nateberkopec]
|
326
|
+
|
327
|
+
2.5.3
|
328
|
+
-----
|
329
|
+
|
330
|
+
* BUGFIX: Deal properly with ASCII_8BIT/BINARY encodings [#689, #696, @nateberkopec]
|
331
|
+
|
332
|
+
2.5.2
|
333
|
+
-----
|
334
|
+
|
335
|
+
* BUGFIX: raven test executable should be available [#691, @nateberkopec]
|
336
|
+
* BUGFIX: Fix stack overflow when calling Backtrace#inspect [#690, @nateberkopec]
|
337
|
+
|
338
|
+
* KNOWN ISSUE: Character encoding errors [#689]
|
339
|
+
|
340
|
+
2.5.1
|
341
|
+
-----
|
342
|
+
|
343
|
+
* BUGFIX: Fix case where Pathname objects are on the load path [@nateberkopec]
|
344
|
+
* BUGFIX: Fix bad UTF-8 characters in the URL querystring [@nateberkopec]
|
345
|
+
* BUGFIX: Fix case where rack-timeout could be required twice [@nateberkopec]
|
346
|
+
|
347
|
+
* REFACTOR: Slightly cleaner character encoding fixing [@nateberkopec, @bf4]
|
348
|
+
|
349
|
+
2.5.0
|
350
|
+
-----
|
351
|
+
|
352
|
+
* FEATURE: Greatly improved performance (2-3x faster capture) [@nateberkopec]
|
353
|
+
* FEATURE: Frozen objects are now sanitized [@nateberkopec]
|
354
|
+
|
355
|
+
* BUGFIX: Grabbing Sidekiq context from "wrapped" classes works [@nateberkopec]
|
356
|
+
* BUGFIX: Relaxed Faraday dependency [@nateberkopec]
|
357
|
+
|
358
|
+
2.4.0
|
359
|
+
-----
|
360
|
+
|
361
|
+
* FEATURE: Allow customization of the Faraday adapter [#639, @StupidCodeFactory]
|
362
|
+
|
363
|
+
* BUGFIX: Report the SDK name as "raven-ruby", not "sentry-raven" [#641, @bretthoerner]
|
364
|
+
* BUGFIX: Sidekiq jobs now clear context/breadcrumbs properly between jobs [#637, @drewish]
|
365
|
+
* BUGFIX: Overriding the logger in Rails wasn't working [#638, @eugeneius]
|
366
|
+
|
367
|
+
2.3.1
|
368
|
+
-----
|
369
|
+
|
370
|
+
* BUGFIX: Backtrace parser fixed for JRuby 9k [#619, @the-michael-toy]
|
371
|
+
* BUGFIX: Rake tasks should show the correct task name [#621, @Bugagazavr]
|
372
|
+
* BUGFIX: Formatted messages work if params are `nil` [#625, @miyachik]
|
373
|
+
* BUGFIX: Backtrace logger on failed event send works with custom formatters [#627, @chulkilee]
|
374
|
+
* BUGFIX: Fix typo that caused Version headers to not be corrected [#628, @nateberkopec]
|
375
|
+
* BUGFIX: Faraday errors are more descriptive when no server response [#629, @drewish]
|
376
|
+
* BUGFIX: DelayedJob handler no longer truncates unneccessarily short [#633, @darrennix]
|
377
|
+
* BUGFIX: Fix several processors not working correctly w/async jobs stored in backends like Redis [#634, @nateberkopec]
|
378
|
+
|
379
|
+
2.3.0
|
380
|
+
-----
|
381
|
+
|
382
|
+
* CHANGE: Log levels of some messages have been changed. Raven logger is INFO level by default. [@nateberkopec]
|
383
|
+
* BUGFIX: Exception messages are now limited to 10,000 bytes. [#617, @mattrobenolt]
|
384
|
+
|
385
|
+
2.2.0
|
386
|
+
-----
|
387
|
+
|
388
|
+
* ENHANCEMENT: Sentry server errors now return some information about the response headers. [#585, @rafadc]
|
389
|
+
* BUGFIX/ENHANCEMENT: Frozen objects are no longer sanitized. This prevents some bugs, but you can now also freeze objects if you don't want them to be sanitized by the SanitizeData processor. [#594, @nateberkopec]
|
390
|
+
* ENHANCEMENT: The ability to use Raven::Instance alone is greatly improved. You can now call #capture_exception directly on an Instance (#595), give it it's own Logger (#599), and set it's own config which will be used when creating Events (#601). Thanks to
|
391
|
+
* ENHANCEMENT: You may now provide your own LineCache-like class to Raven. This is useful if you have source code which is not available on disk. [#606, @nateberkopec]
|
392
|
+
* BUGFIX: Raven no longer emits anything to STDOUT if a system command fails [#596, @nateberkopec]
|
393
|
+
* ENHANCEMENT: Raven now tells you exactly why it will not send an event in the logs [#602, @nateberkopec]
|
394
|
+
|
395
|
+
2.1.4
|
396
|
+
-----
|
397
|
+
|
398
|
+
* FIX: Remove `contexts` key, because it was disabling browser auto-tagging [#587, @nateberkopec]
|
399
|
+
|
400
|
+
2.1.3
|
401
|
+
-----
|
402
|
+
|
403
|
+
* Move `os` context key to `server_os` [@nateberkopec]
|
404
|
+
|
405
|
+
2.1.2
|
406
|
+
-----
|
407
|
+
|
408
|
+
* FIX: `sys_command` not falling back to Windows commands properly, logging output [@jmalves, @nateberkopec]
|
409
|
+
|
410
|
+
2.1.1
|
411
|
+
-----
|
412
|
+
|
413
|
+
* FIX: Message params should accept nil [@jmalves, #570]
|
414
|
+
|
415
|
+
2.1.0
|
416
|
+
-----
|
417
|
+
|
418
|
+
ENHANCEMENTS:
|
419
|
+
|
420
|
+
* Your client version is now included in all Events. [@nateberkopec, #559]
|
421
|
+
* OS and Ruby runtime information now included in all Events. [@nateberkopec, #560]
|
422
|
+
* Transport errors (like Sentry 4XX errors) now raise Sentry::Error, not Faraday errors. [@nateberkopec, #565]
|
423
|
+
* Sidekiq integration is streamlined and improved. Supports Sidekiq 3.x and up. [@nateberkopec, #555]
|
424
|
+
|
425
|
+
FIXES:
|
426
|
+
|
427
|
+
* Heroku release detection is improved and more accurate. You must `heroku labs:enable runtime-dyno-metadata` for it to work. [@nateberkopec, #566]
|
428
|
+
|
429
|
+
2.0.2
|
430
|
+
-----
|
431
|
+
|
432
|
+
* FIX: Don't set up Rack-Timeout middleware. [@janraasch, #558]
|
433
|
+
|
434
|
+
2.0.1
|
435
|
+
-----
|
436
|
+
|
437
|
+
* FIX: UUIDs were being rejected by Sentry as being too long [@nateberkopec]
|
438
|
+
|
439
|
+
2.0.0
|
440
|
+
-----
|
441
|
+
|
442
|
+
BREAKING CHANGES:
|
443
|
+
|
444
|
+
* The object passed to the `async` callback is now a JSON-compatible hash, not a Raven::Event. This fixes many bugs with backend job processors like DelayedJob. [@nateberkopec, #547]
|
445
|
+
* Several deprecated accessors have been removed [@nateberkopec, #543]
|
446
|
+
* You can no longer pass an object which cannot be called to `should_capture` [@nateberkopec, #542]
|
447
|
+
|
448
|
+
ENHANCEMENTS:
|
449
|
+
|
450
|
+
* Rack::Timeout exceptions are now fingerprinted by URL, making them more useful [@nateberkopec, #538]
|
451
|
+
* Added an HTTP header processor by default. We now scrub `Authorization` headers correctly. You can use `config.sanitize_http_headers` to add a list of HTTP headers you don't want sent to Sentry (e.g. ["Via", "Referer", "User-Agent", "Server", "From"]) [@nateberkopec]
|
452
|
+
|
453
|
+
FIXES:
|
454
|
+
|
455
|
+
* User/Event IP addresses are now set more accurately. This will fix many issues with local proxy setups (nginx, etc). [@nateberkopec, #546]
|
456
|
+
* We now generate a real UUID in the correct format for Event IDs [@nateberkopec, #549]
|
457
|
+
* If `async` sending fails, we retry with sync sending. [@nateberkopec, #548]
|
458
|
+
* Changed truncation approach - event messages and HTTP bodies now limited to the same amount of characters they're limited to at the Sentry server [@nateberkopec, #536]
|
459
|
+
|
460
|
+
OTHER:
|
461
|
+
|
462
|
+
* Codebase cleaned up with Rubocop [@nateberkopec, #544]
|
463
|
+
|
464
|
+
1.2.3
|
465
|
+
-----
|
466
|
+
|
467
|
+
* ENHANCEMENT: Send the current environment to Sentry [@dcramer, #530]
|
468
|
+
* BUGFIX: Fix all warnings emitted by Ruby verbose mode [@nateberkopec]
|
469
|
+
* BUGFIX: Fix compat with `log4r` [@nateberkopec, #535]
|
470
|
+
|
471
|
+
1.2.2
|
472
|
+
-----
|
473
|
+
|
474
|
+
* BUGFIX: NameError in DelayedJob integration. [janraasch, #525]
|
475
|
+
|
476
|
+
1.2.1
|
477
|
+
-----
|
478
|
+
|
479
|
+
* BUGFIX: Context clearing should now work properly in DelayedJob and Sidekiq. Also, we properly clear context if Sentry causes an exception. [nateberkopec, #520]
|
480
|
+
* BUGFIX: If Sentry will not send the event (due to environments or no DSN set), it will not attempt to "capture" (construct an event) [nateberkopec, #518]
|
481
|
+
|
482
|
+
1.2.0
|
483
|
+
-----
|
484
|
+
|
485
|
+
* FEATURE: Raven now supports Breadcrumbs, though they aren't on by default. Check the docs for how to enable. [dcramer, #497]
|
486
|
+
* FEATURE: Raven is no longer a singleton, you may have many `Raven::Instance`s. [phillbaker, #504]
|
487
|
+
* PERFORMANCE: Raven no longer uses a vendored JSON implementation. JSON processing and encoding should be up to 6x faster. [dcramer, #510]
|
488
|
+
* BUGFIX: silence_ready now works for Rails apps. [ream88, #512]
|
489
|
+
* BUGFIX: transport_failure_callback now works correctly [nateberkopec, #508]
|
490
|
+
|
491
|
+
1.1.0
|
492
|
+
-----
|
493
|
+
|
494
|
+
* The client exposes a ``last_event_id`` accessor at `Raven.last_event_id`. [dcramer, #493]
|
495
|
+
* PERFORMANCE: Skip identical backtraces from "re-raised" exceptions [databus23, #499]
|
496
|
+
* Support for ActionController::Live and Rails template streaming [nateberkopec, #486]
|
497
|
+
|
498
|
+
1.0.0
|
499
|
+
-----
|
500
|
+
|
501
|
+
We (i.e. @nateberkopec) decided that `raven-ruby` has been stable enough for some time that it's time for a 1.0.0 release!
|
502
|
+
|
503
|
+
BREAKING CHANGES:
|
504
|
+
|
505
|
+
- Dropped support for Ruby 1.8.7 [nateberkopec, #465]
|
506
|
+
- `raven-ruby` no longer reports form POST data or web cookies by default. To re-enable this behavior, remove the appropriate Processors from your config (see docs or PR) [nateberkopec, #466]
|
507
|
+
- UDP transport has been removed [dcramer, #472]
|
508
|
+
|
509
|
+
OTHER CHANGES:
|
510
|
+
|
511
|
+
- Improved performance [zanker]
|
512
|
+
- Deprecated `config.catch_debugged_exceptions`, replaced with `config.rails_report_rescued_exceptions`. `catch_debugged_exceptions` will be removed in 1.1. [nateberkopec, #483]
|
513
|
+
- Added `config.transport_failure_callback`. Provide a lambda or proc to this config setting, which will be `call`ed when Sentry returns a 4xx/5xx response. [nateberkopec, #484]
|
514
|
+
- JRuby builds fixed [RobinDaugherty]
|
515
|
+
- Fix problems with duplicate exceptions and `Exception.cause` [dcramer, #490]
|
516
|
+
- Added Exception Context. Any Exception class can define a `raven_context` instance variable, which will be merged into any Event's context which contains this exception. [nateberkopec, #491]
|
517
|
+
+ Documentation from shaneog, squirly, dcramer, ehfeng, nateberkopec.
|
518
|
+
|
519
|
+
0.15.6
|
520
|
+
------
|
521
|
+
|
522
|
+
- Fixed bug where return value of debug middleware was nil [eugeneius, #461]
|
523
|
+
- Fixed a bug in checking `catch_debugged_exceptions` [greysteil, #458]
|
524
|
+
- Fixed a deprecation warning for Rails 5 [Elektron1c97, #457]
|
525
|
+
|
526
|
+
0.15.5
|
527
|
+
------
|
528
|
+
|
529
|
+
- DelayedJob integration fixed when last_error not present [dcramer, #454]
|
530
|
+
- Release detection doesn't overwrite manual release setting in Rails [eugeneius, #450]
|
531
|
+
- Deal properly with Cap 3.0/3.1 revision logs [timcheadle, #449]
|
532
|
+
- Rails 5 support [nateberkopec, #423]
|
533
|
+
|
534
|
+
0.15.4
|
535
|
+
------
|
536
|
+
|
537
|
+
- DelayedJob integration now also truncates last_error to 100 characters [nateberkopec]
|
538
|
+
- Fix several issues with release detection - silence git log message, fix Capistrano detection [nateberkopec, kkumler]
|
539
|
+
|
540
|
+
|
541
|
+
0.15.3
|
542
|
+
------
|
543
|
+
|
544
|
+
- Double exception reporting in Rails FIXED! [nateberkopec, #422]
|
545
|
+
- Rails 3 users having issues with undefined runner fixed [nateberkopec, #428]
|
546
|
+
- Sidekiq integration works properly when ActiveJob enabled [mattrobenolt]
|
547
|
+
- Fix problems with invalid UTF-8 in exception messages [nateberkopec, #426]
|
548
|
+
- Backtraces now consider "exe" directories part of the app [nateberkopec, #420]
|
549
|
+
- Sinatra::NotFound now ignored by default [drcapulet, #383]
|
550
|
+
- Release versions now properly set. Support for Heroku, Capistrano, and Git. [iloveitaly #377, Sija #380]
|
551
|
+
- DelayedJob integration plays well with ActiveJob [kkumler, #378]
|
552
|
+
- DelayedJob handlers now truncated [nateberkopec, #431]
|
553
|
+
- Tons of code quality improvements [amatsuda, ddrmanxbxfr, pmbrent, cpizzaia, wdhorton, PepperTeasdale]
|
554
|
+
|
555
|
+
0.15.2
|
556
|
+
------
|
557
|
+
|
558
|
+
- Reverted ActiveJob support due to conflicts [#368]
|
559
|
+
|
560
|
+
0.15.1
|
561
|
+
------
|
562
|
+
|
563
|
+
- Fix ActiveJob support [greysteil, #367]
|
564
|
+
|
565
|
+
0.15.0
|
566
|
+
------
|
567
|
+
|
568
|
+
- Remove Certifi and use default Ruby SSL config [zanker, #352]
|
569
|
+
- Support for ``fingerprint`` [dcramer]
|
570
|
+
- Improved documentation and tests around various attributes [dcramer]
|
571
|
+
- Allow configurable integrations [cthornton]
|
572
|
+
- Prevent recursion with ``Exception.cause`` [dcramer, #357]
|
573
|
+
- Use empty hash if false-y value [GeekOnCoffee, #354]
|
574
|
+
- Correct some behavior with at_exit error capturing [kratob, #355]
|
575
|
+
- Sanitize matches whole words [alyssa, #361]
|
576
|
+
- Expose more debugging info to active_job integration [tonywok, #365]
|
577
|
+
- Capture exceptions swallowed by rails [robertclancy, #343]
|
578
|
+
- Sanitize the query string when the key is a symbol [jason-o-matic, #349]
|
579
|
+
- Moved documentation to docs.getsentry.com [mitsuhiko]
|
580
|
+
|
581
|
+
0.14.0
|
582
|
+
------
|
583
|
+
|
584
|
+
- Correct handling of JRuby stacktraces [dcramer]
|
585
|
+
- Better handling of unreachable file contexts [dcramer, #335]
|
586
|
+
- SSL is now default ON [dcramer, #338]
|
587
|
+
- Capture exceptions in runner tasks [eugeneius, #339]
|
588
|
+
- ActiveJob integration [lucasmazza, #327]
|
589
|
+
- Cleanup return values of async blocks [lucasmazza, #344]
|
590
|
+
- Better handling when sending NaN/Infinity JSON values [Alric, #345]
|
591
|
+
- Fix issues with digest/md5 namespace [lsb, #346]
|
592
|
+
|
593
|
+
0.13.3
|
594
|
+
------
|
595
|
+
|
596
|
+
- Fix a deprecation warning being shown in regular operation [ripta, #332]
|
597
|
+
|
598
|
+
0.13.2
|
599
|
+
------
|
600
|
+
|
601
|
+
- DelayedJob integration now includes the job id [javawizard, #321]
|
602
|
+
- Rails integration now works properly when you're not using all parts of Rails (e.g. just ActiveRecord) [lucasmazza, #323]
|
603
|
+
- Bugfix CLI tool when async config is on [if1live, #324]
|
604
|
+
- Fix and standardize tag hierarchies. Event tags > context tags > configuration tags in all cases. [JonathanBatten, #322 and eugeneius, #330]
|
605
|
+
- Using #send on Client, Base, and Transports is now deprecated. See [the commit](https://github.com/getsentry/raven-ruby/commit/9f482022a648ab662c22177ba24fd2e2b6794c34) (or the deprecation message) for their replacements. [nateberkopec, #326]
|
606
|
+
- You can now disable credit-card-like value filtering. [codekitchen, #329]
|
607
|
+
|
608
|
+
0.13.1
|
609
|
+
------
|
610
|
+
|
611
|
+
- Raven::Transports::HTTP#send returns the response now. [eagletmt, #317]
|
612
|
+
- Filenames now work a lot better when you vendor your gems. [eugeneius, #316]
|
613
|
+
- Fix raven:test issue when testing non-async configurations. [weynsee, #318]
|
614
|
+
- Fix blockless Raven#capture. [dinosaurjr, #320]
|
615
|
+
- Fix some log messages [eagletmt, #319]
|
616
|
+
|
617
|
+
0.13.0
|
618
|
+
------
|
619
|
+
|
620
|
+
- Support exception chaining [javawizard, #312]
|
621
|
+
- Add support for sending release version [eugeneius, #310]
|
622
|
+
- Better status reports on configuration [faber, #309]
|
623
|
+
- Client "send" method accepts an event in object or hash format - this will make it much easier to send Sentry events in a delayed job! [marclennox, #300]
|
624
|
+
- Fix duplicate fields in SanitizeData [wyattisimo, #294]
|
625
|
+
- Always preserve filename paths under project_root [eugeneius, #291]
|
626
|
+
- Truncate project root prefixes from filenames [eagletmt, #278]
|
627
|
+
- Renamed should_send callback to should_capture [nateberkopec, #270]
|
628
|
+
- Silencing the ready message now happens in the config as normal [nateberkopec, #260]
|
629
|
+
- Various internal refactorings [see here](https://github.com/getsentry/raven-ruby/compare/0-12-stable...master)
|
630
|
+
|
631
|
+
0.12.3
|
632
|
+
------
|
633
|
+
|
634
|
+
- URL query parameters are now sanitized for sensitive data [pcorliss, #275]
|
635
|
+
- Raven::Client can now use a proxy server when sending events to Sentry [dcramer, #277]
|
636
|
+
- Raven::Client will now use a timed backoff strategy if the server fails [codekitchen, #267]
|
637
|
+
- Automatic integration loading is now a lot less brittle [dcramer, handlers, #263, #264]
|
638
|
+
- Fixed some issues with prefixes and DSN strings [nateberkopec, #259]
|
639
|
+
- If Raven is initialized without a server config, it will no longer send events [nateberkopec, #258]
|
640
|
+
- Slightly nicer credit-card-like number scrubbing [nateberkopec, #254]
|
641
|
+
- Fix some exceptions not being caught by Sidekiq middleware [nateberkopec, #251]
|
642
|
+
- Uncommon types are now encoded correctly [nateberkopec, #249]
|
643
|
+
|
644
|
+
0.12.2
|
645
|
+
------
|
646
|
+
|
647
|
+
- Security fix where exponential numbers in specially crafted params could cause a CPU attack [dcramer, #262]
|
648
|
+
|
649
|
+
0.12.1
|
650
|
+
------
|
651
|
+
|
652
|
+
- Integrations (Sidekiq, DelayedJob, etc) now load independently of your Gemfile order. [nateberkopec, #236]
|
653
|
+
- Fixed bug where setting tags mutated your configuration [berg, #239]
|
654
|
+
- Fixed several issues with SanitizeData and UTF8 sanitization processors [nateberkopec, #238, #241, #244]
|
655
|
+
|
656
|
+
0.12.0
|
657
|
+
------
|
658
|
+
|
659
|
+
- You can now give additional fields to the SanitizeData processor. Values matched are replaced by the string mask (*********). Full documentation (and how to use with Rails config.filter_parameters) [here](https://docs.sentry.io/platforms/ruby/config/). [jamescway, #232]
|
660
|
+
- An additional processor has been added, though it isn't turned on by default: RemoveStacktrace. Use it to remove stacktraces from exception reports. [nateberkopec, #233]
|
661
|
+
- Dependency on `uuidtools` has been removed. [nateberkopec, #231]
|
662
|
+
|
663
|
+
0.11.2
|
664
|
+
------
|
665
|
+
|
666
|
+
- Fix some issues with the SanitizeData processor when processing strings that look like JSON
|
667
|
+
|
668
|
+
|
669
|
+
0.11.1
|
670
|
+
------
|
671
|
+
|
672
|
+
- Raven now captures exceptions in Rake tasks automatically. [nateberkopec, troelskn #222]
|
673
|
+
- There is now a configuration option called ```should_send``` that can be configured to use a Proc to determine whether or not an event should be sent to Sentry. This can be used to implement rate limiters, etc. [nateberkopec, #221]
|
674
|
+
- Raven now includes three event processors by default instead of one, which can be turned on and off independently. [nateberkopec, #223]
|
675
|
+
- Fixed bug with YAJL compatibility. [nateberkopec, #223]
|
676
|
+
|
677
|
+
0.10.1
|
678
|
+
------
|
679
|
+
|
680
|
+
- Updated to RSpec 3.
|
681
|
+
- Apply filters to encoded JSON data.
|
682
|
+
|
683
|
+
|
684
|
+
0.10.0
|
685
|
+
------
|
686
|
+
|
687
|
+
- Events are now sent to Sentry in all environments. To change this behavior, either unset ```SENTRY_DSN``` or explicitly configure it via ```Raven.configure```.
|
688
|
+
- gzip is now the default encoding
|
689
|
+
- Removed hashie dependency
|
690
|
+
|
691
|
+
|
692
|
+
0.9.0
|
693
|
+
-----
|
694
|
+
|
695
|
+
- Native support for Delayed::Job [pkuczynski, #176]
|
696
|
+
- Updated to Sentry protocol version 5
|
697
|
+
|
698
|
+
|
699
|
+
0.5.0
|
700
|
+
-----
|
701
|
+
- Rails 2 support [sluukonen, #45]
|
702
|
+
- Controller methods in Rails [jfirebaugh]
|
703
|
+
- Runs by default in any environment other than test, cucumber, or development. [#81]
|