alec-gem 2.7.2

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 (79) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +1 -0
  3. data/.rubocop.yml +74 -0
  4. data/.travis.yml +47 -0
  5. data/Gemfile +38 -0
  6. data/Gemfile.lock +215 -0
  7. data/LICENSE +201 -0
  8. data/README.md +132 -0
  9. data/Rakefile +29 -0
  10. data/alec-gem.gemspec +22 -0
  11. data/changelog.md +442 -0
  12. data/docs/Makefile +130 -0
  13. data/docs/breadcrumbs.rst +51 -0
  14. data/docs/conf.py +228 -0
  15. data/docs/config.rst +260 -0
  16. data/docs/context.rst +141 -0
  17. data/docs/index.rst +113 -0
  18. data/docs/install.rst +40 -0
  19. data/docs/integrations/heroku.rst +11 -0
  20. data/docs/integrations/index.rst +59 -0
  21. data/docs/integrations/puma.rst +30 -0
  22. data/docs/integrations/rack.rst +27 -0
  23. data/docs/integrations/rails.rst +62 -0
  24. data/docs/make.bat +155 -0
  25. data/docs/processors.rst +124 -0
  26. data/docs/sentry-doc-config.json +31 -0
  27. data/docs/usage.rst +176 -0
  28. data/exe/raven +32 -0
  29. data/lib/raven.rb +3 -0
  30. data/lib/raven/backtrace.rb +137 -0
  31. data/lib/raven/base.rb +106 -0
  32. data/lib/raven/breadcrumbs.rb +76 -0
  33. data/lib/raven/breadcrumbs/activesupport.rb +19 -0
  34. data/lib/raven/breadcrumbs/logger.rb +93 -0
  35. data/lib/raven/cli.rb +59 -0
  36. data/lib/raven/client.rb +142 -0
  37. data/lib/raven/configuration.rb +434 -0
  38. data/lib/raven/context.rb +43 -0
  39. data/lib/raven/event.rb +259 -0
  40. data/lib/raven/instance.rb +221 -0
  41. data/lib/raven/integrations/delayed_job.rb +58 -0
  42. data/lib/raven/integrations/rack-timeout.rb +19 -0
  43. data/lib/raven/integrations/rack.rb +139 -0
  44. data/lib/raven/integrations/rails.rb +79 -0
  45. data/lib/raven/integrations/rails/active_job.rb +59 -0
  46. data/lib/raven/integrations/rails/controller_methods.rb +13 -0
  47. data/lib/raven/integrations/rails/controller_transaction.rb +13 -0
  48. data/lib/raven/integrations/rails/overrides/debug_exceptions_catcher.rb +31 -0
  49. data/lib/raven/integrations/rails/overrides/streaming_reporter.rb +23 -0
  50. data/lib/raven/integrations/railties.rb +1 -0
  51. data/lib/raven/integrations/rake.rb +18 -0
  52. data/lib/raven/integrations/sidekiq.rb +87 -0
  53. data/lib/raven/integrations/tasks.rb +11 -0
  54. data/lib/raven/interface.rb +25 -0
  55. data/lib/raven/interfaces/exception.rb +15 -0
  56. data/lib/raven/interfaces/http.rb +16 -0
  57. data/lib/raven/interfaces/message.rb +20 -0
  58. data/lib/raven/interfaces/single_exception.rb +14 -0
  59. data/lib/raven/interfaces/stack_trace.rb +69 -0
  60. data/lib/raven/linecache.rb +41 -0
  61. data/lib/raven/logger.rb +19 -0
  62. data/lib/raven/processor.rb +15 -0
  63. data/lib/raven/processor/cookies.rb +26 -0
  64. data/lib/raven/processor/http_headers.rb +55 -0
  65. data/lib/raven/processor/post_data.rb +22 -0
  66. data/lib/raven/processor/removecircularreferences.rb +17 -0
  67. data/lib/raven/processor/removestacktrace.rb +24 -0
  68. data/lib/raven/processor/sanitizedata.rb +88 -0
  69. data/lib/raven/processor/utf8conversion.rb +52 -0
  70. data/lib/raven/transports.rb +15 -0
  71. data/lib/raven/transports/dummy.rb +16 -0
  72. data/lib/raven/transports/http.rb +68 -0
  73. data/lib/raven/utils/deep_merge.rb +22 -0
  74. data/lib/raven/utils/real_ip.rb +62 -0
  75. data/lib/raven/version.rb +5 -0
  76. data/lib/sentry-raven-without-integrations.rb +1 -0
  77. data/lib/sentry-raven.rb +1 -0
  78. data/pkg/sentry-raven-2.7.2.gem +0 -0
  79. metadata +143 -0
@@ -0,0 +1,132 @@
1
+ <p align="center">
2
+ <img src="https://cdn.rawgit.com/getsentry/raven-python/1e525422/docs/_static/logo.png">
3
+ </p>
4
+
5
+ # Raven-Ruby, the Ruby Client for Sentry
6
+
7
+ [![Gem Version](https://img.shields.io/gem/v/sentry-raven.svg)](https://rubygems.org/gems/sentry-raven)
8
+ [![Build Status](https://img.shields.io/travis/getsentry/raven-ruby/master.svg)](https://travis-ci.org/getsentry/raven-ruby)
9
+ [![Gem](https://img.shields.io/gem/dt/sentry-raven.svg)](https://rubygems.org/gems/sentry-raven/)
10
+
11
+
12
+ [Documentation](https://docs.getsentry.com/hosted/clients/ruby/) | [Bug Tracker](https://github.com/getsentry/raven-ruby/issues) | [Forum](https://forum.sentry.io/) | IRC: irc.freenode.net, #sentry
13
+
14
+ The official Ruby-language client and integration layer for the [Sentry](https://github.com/getsentry/sentry) error reporting API.
15
+
16
+ ## Requirements
17
+
18
+ We test on Ruby 1.9, 2.2, 2.3, and 2.4 at the latest patchlevel/teeny version. We also support JRuby 1.7 and 9.0. Our Rails integration works with Rails 4.2+ (including Rails 5).
19
+
20
+ ## Getting Started
21
+
22
+ ### Install
23
+
24
+ ```ruby
25
+ gem "sentry-raven"
26
+ ```
27
+
28
+ ### Raven only runs when SENTRY_DSN is set
29
+
30
+ Raven will capture and send exceptions to the Sentry server whenever its DSN is set. This makes environment-based configuration easy - if you don't want to send errors in a certain environment, just don't set the DSN in that environment!
31
+
32
+ ```bash
33
+ # Set your SENTRY_DSN environment variable.
34
+ export SENTRY_DSN=http://public:secret@example.com/project-id
35
+ ```
36
+ ```ruby
37
+ # Or you can configure the client in the code (not recommended - keep your DSN secret!)
38
+ Raven.configure do |config|
39
+ config.dsn = 'http://public:secret@example.com/project-id'
40
+ end
41
+ ```
42
+
43
+ ### Raven doesn't report some kinds of data by default
44
+
45
+ **Raven ignores some exceptions by default** - most of these are related to 404s or controller actions not being found. [For a complete list, see the `IGNORE_DEFAULT` constant](https://github.com/getsentry/raven-ruby/blob/master/lib/raven/configuration.rb).
46
+
47
+ Raven doesn't report POST data or cookies by default. In addition, it will attempt to remove any obviously sensitive data, such as credit card or Social Security numbers. For more information about how Sentry processes your data, [check out the documentation on the `processors` config setting.](https://docs.getsentry.com/hosted/clients/ruby/config/)
48
+
49
+ ### Usage
50
+
51
+ **If you use Rails, you're already done - no more configuration required!** Check [Integrations](https://docs.getsentry.com/hosted/clients/ruby/integrations/) for more details on other gems Sentry integrates with automatically.
52
+
53
+ Otherwise, Raven supports two methods of capturing exceptions:
54
+
55
+ ```ruby
56
+ Raven.capture do
57
+ # capture any exceptions which happen during execution of this block
58
+ 1 / 0
59
+ end
60
+
61
+ begin
62
+ 1 / 0
63
+ rescue ZeroDivisionError => exception
64
+ Raven.capture_exception(exception)
65
+ end
66
+ ```
67
+
68
+ ### More configuration
69
+
70
+ You're all set - but there's a few more settings you may want to know about too!
71
+
72
+ #### async
73
+
74
+ When an error or message occurs, the notification is immediately sent to Sentry. Raven can be configured to send asynchronously:
75
+
76
+ ```ruby
77
+ config.async = lambda { |event|
78
+ Thread.new { Raven.send_event(event) }
79
+ }
80
+ ```
81
+
82
+ Using a thread to send events will be adequate for truly parallel Ruby platforms such as JRuby, though the benefit on MRI/CRuby will be limited. If the async callback raises an exception, Raven will attempt to send synchronously.
83
+
84
+ Note that the naive example implementation has a major drawback - it can create an infinite number of threads. We recommend creating a background job, using your background job processor, that will send Sentry notifications in the background.
85
+
86
+ ```ruby
87
+ config.async = lambda { |event| SentryJob.perform_later(event) }
88
+
89
+ class SentryJob < ActiveJob::Base
90
+ queue_as :default
91
+
92
+ def perform(event)
93
+ Raven.send_event(event)
94
+ end
95
+ end
96
+ ```
97
+
98
+ #### transport_failure_callback
99
+
100
+ If Raven fails to send an event to Sentry for any reason (either the Sentry server has returned a 4XX or 5XX response), this Proc or lambda will be called.
101
+
102
+ ```ruby
103
+ config.transport_failure_callback = lambda { |event|
104
+ AdminMailer.email_admins("Oh god, it's on fire!", event).deliver_later
105
+ }
106
+ ```
107
+
108
+ #### Context
109
+
110
+ Much of the usefulness of Sentry comes from additional context data with the events. Raven makes this very convenient by providing methods to set thread local context data that is then submitted automatically with all events.
111
+
112
+ There are three primary methods for providing request context:
113
+
114
+ ```ruby
115
+ # bind the logged in user
116
+ Raven.user_context email: 'foo@example.com'
117
+
118
+ # tag the request with something interesting
119
+ Raven.tags_context interesting: 'yes'
120
+
121
+ # provide a bit of additional context
122
+ Raven.extra_context happiness: 'very'
123
+ ```
124
+
125
+ For more information, see [Context](https://docs.sentry.io/clients/ruby/context/).
126
+
127
+ ## More Information
128
+
129
+ * [Documentation](https://docs.getsentry.com/hosted/clients/ruby/)
130
+ * [Bug Tracker](https://github.com/getsentry/raven-ruby/issues)
131
+ * [Forum](https://forum.sentry.io/)
132
+ * [IRC](irc://irc.freenode.net/sentry>) (irc.freenode.net, #sentry)
@@ -0,0 +1,29 @@
1
+ require 'rake'
2
+ require 'raven'
3
+ require 'rubygems/package_task'
4
+ require 'bundler/gem_tasks'
5
+
6
+ gemspec = Gem::Specification.load(Dir['*.gemspec'].first)
7
+
8
+ Gem::PackageTask.new(gemspec).define
9
+
10
+ begin
11
+ require 'rubygems'
12
+ require 'rspec/core/rake_task'
13
+
14
+ require 'rubocop/rake_task'
15
+ RuboCop::RakeTask.new(:rubocop) do |task|
16
+ task.patterns = ['lib/**/*.rb','spec/**/*.rb',]
17
+ end
18
+
19
+ RSpec::Core::RakeTask.new(:spec) do |spec|
20
+ spec.pattern = 'spec/**/*_spec.rb'
21
+ end
22
+
23
+ rescue LoadError
24
+ task :spec do
25
+ abort "Rspec is not available. bundle install to run unit tests"
26
+ end
27
+ end
28
+
29
+ task :default => [:rubocop, :spec]
@@ -0,0 +1,22 @@
1
+ $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
2
+ require 'raven/version'
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.name = "alec-gem"
6
+ gem.authors = ["Alec Jones"]
7
+ gem.description = gem.summary = "A gem that provides a client interface for the alec error logger"
8
+ gem.email = "alecaej2002@gmail.com"
9
+ gem.license = 'Apache-2.0'
10
+ gem.homepage = "https://github.com/alecj1240/gem"
11
+
12
+ gem.version = Raven::VERSION
13
+ gem.platform = Gem::Platform::RUBY
14
+ gem.required_ruby_version = '>= 1.9.0'
15
+ gem.has_rdoc = true
16
+ gem.extra_rdoc_files = ["README.md", "LICENSE"]
17
+ gem.files = `git ls-files | grep -Ev '^(spec|benchmarks|examples)'`.split("\n")
18
+ gem.bindir = "exe"
19
+ gem.executables = "raven"
20
+
21
+ gem.add_dependency "faraday", ">= 0.7.6", "< 1.0"
22
+ end
@@ -0,0 +1,442 @@
1
+ 2.7.2
2
+ -----
3
+
4
+ * BUGFIX: GlobalIDs are now displayed correctly in Sidekiq contexts [@louim, #798]
5
+ * BUGFIX: If git is not installed, fail silently during release detection [@nateberkopec]
6
+ * BUGFIX: We do not support rack-timeout <= 0.2, fix errors when incompat version present [@nateberkopec]
7
+ * BUGFIX: Put cookies in the correct spot of event [@nateberkopec, #812]
8
+ * BUGFIX: Exception context is deep_merged [@janklimo, #782]
9
+
10
+ 2.7.1
11
+ -----
12
+
13
+ * BUGFIX: Fixed LocalJumpError in Rails controllers [@nateberkopec w/@frodsan, #774]
14
+
15
+ 2.7.0
16
+ -----
17
+
18
+ * FEATURE: Add random sampling. [@nateberkopec, #734]
19
+ * FEATURE: Transactions. See Context docs for usage. [@nateberkopec, #743]
20
+ * 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]
21
+
22
+ * BUGFIX: Fix wrapped classnames in old versions of Sidekiq and ActiveJob [@nateberkopec, #702]
23
+ * BUGFIX: Server names on Heroku were pretty useless before - now they follow the dyno name ("worker.1", "web.2") [@nateberkopec, #703]
24
+ * 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]
25
+ * BUGFIX: Binary conversion to UTF-8 when binary is frozen is fixed [@nateberkopec, #757]
26
+ * BUGFIX: Our credit-card regex now matches Sentry's server behavior, which means it does not censor milliseconds since the epoch [@nateberkopec, #771]
27
+
28
+ * REFACTOR: We now use an updated port of Rails' deep_merge which should be 5-10% faster [@nateberkopec, #770]
29
+ * REFACTOR: Tests have been cleaned up, and now run in random order. [@nateberkopec]
30
+ * REFACTOR: Raven::Event has been refactored a bit [@nateberkopec]
31
+
32
+ 2.6.3
33
+ -----
34
+
35
+ * BUGFIX: Fixed typo in the Heroku warning [@greysteil, #728]
36
+ * BUGFIX: Swallow IOErrors when reading the Rack request body [@nateberkopec]
37
+ * BUGFIX: Fix invalid UTF-8/circular references when using async [@nateberkopec, #730]
38
+
39
+ 2.6.2
40
+ -----
41
+
42
+ * BUGFIX: If using the Sidekiq or DelayedJob adapters with ActiveJob, ActiveJob wouldn't re-raise upon capturing an exception. [@nateberkopec, 5b02ad4ff2]
43
+
44
+ * KNOWN ISSUE: When using `async`, Rack integration is not thread-safe [#721]
45
+ * KNOWN ISSUE: When using `async`, encoding errors may be raised [#725]
46
+
47
+ 2.6.1
48
+ -----
49
+
50
+ * BUGFIX: Fix cases where ActionDispatch::RemoteIP would blow up during event creation [@cmoylan, #722]
51
+ * BUGFIX: In ActiveJob, don't report exceptions which can be rescued by rescue_from handlers [@bensheldon, #719]
52
+
53
+ 2.6.0
54
+ -----
55
+
56
+ * FEATURE: raven-ruby now marks itself as the "ruby" logger by default, to match raven-js behavior [@nateberkopec]
57
+ * FEATURE: You may now override the default sanitization parameters [#712, @nateberkopec]
58
+ * FEATURE: Breadcrumb buffers are now publicly accessible [#686, @nateberkopec]
59
+ * FEATURE: We yell at you now if you're using Heroku but don't have runtime-dyno-metadata enabled [#715, @nateberkopec]
60
+ * FEATURE: project_root will always be set, regardless of framework [#716, @nateberkopec]
61
+
62
+ * BUGFIX: Request body and message limits now match Sentry server defaults [#714, @nateberkopec]
63
+ * BUGFIX: Sidekiq context now works as expected [#713, @nateberkopec]
64
+ * BUGFIX: Capture exceptions in ActiveJob when not using Sidekiq adapter [#709, #671, @nateberkopec]
65
+
66
+ 2.5.3
67
+ -----
68
+
69
+ * BUGFIX: Deal properly with ASCII_8BIT/BINARY encodings [#689, #696, @nateberkopec]
70
+
71
+ 2.5.2
72
+ -----
73
+
74
+ * BUGFIX: raven test executable should be available [#691, @nateberkopec]
75
+ * BUGFIX: Fix stack overflow when calling Backtrace#inspect [#690, @nateberkopec]
76
+
77
+ * KNOWN ISSUE: Character encoding errors [#689]
78
+
79
+ 2.5.1
80
+ -----
81
+
82
+ * BUGFIX: Fix case where Pathname objects are on the load path [@nateberkopec]
83
+ * BUGFIX: Fix bad UTF-8 characters in the URL querystring [@nateberkopec]
84
+ * BUGFIX: Fix case where rack-timeout could be required twice [@nateberkopec]
85
+
86
+ * REFACTOR: Slightly cleaner character encoding fixing [@nateberkopec, @bf4]
87
+
88
+ 2.5.0
89
+ -----
90
+
91
+ * FEATURE: Greatly improved performance (2-3x faster capture) [@nateberkopec]
92
+ * FEATURE: Frozen objects are now sanitized [@nateberkopec]
93
+
94
+ * BUGFIX: Grabbing Sidekiq context from "wrapped" classes works [@nateberkopec]
95
+ * BUGFIX: Relaxed Faraday dependency [@nateberkopec]
96
+
97
+ 2.4.0
98
+ -----
99
+
100
+ * FEATURE: Allow customization of the Faraday adapter [#639, @StupidCodeFactory]
101
+
102
+ * BUGFIX: Report the SDK name as "raven-ruby", not "sentry-raven" [#641, @bretthoerner]
103
+ * BUGFIX: Sidekiq jobs now clear context/breadcrumbs properly between jobs [#637, @drewish]
104
+ * BUGFIX: Overriding the logger in Rails wasn't working [#638, @eugeneius]
105
+
106
+ 2.3.1
107
+ -----
108
+
109
+ * BUGFIX: Backtrace parser fixed for JRuby 9k [#619, @the-michael-toy]
110
+ * BUGFIX: Rake tasks should show the correct task name [#621, @Bugagazavr]
111
+ * BUGFIX: Formatted messages work if params are `nil` [#625, @miyachik]
112
+ * BUGFIX: Backtrace logger on failed event send works with custom formatters [#627, @chulkilee]
113
+ * BUGFIX: Fix typo that caused Version headers to not be corrected [#628, @nateberkopec]
114
+ * BUGFIX: Faraday errors are more descriptive when no server response [#629, @drewish]
115
+ * BUGFIX: DelayedJob handler no longer truncates unneccessarily short [#633, @darrennix]
116
+ * BUGFIX: Fix several processors not working correctly w/async jobs stored in backends like Redis [#634, @nateberkopec]
117
+
118
+ 2.3.0
119
+ -----
120
+
121
+ * CHANGE: Log levels of some messages have been changed. Raven logger is INFO level by default. [@nateberkopec]
122
+ * BUGFIX: Exception messages are now limited to 10,000 bytes. [#617, @mattrobenolt]
123
+
124
+ 2.2.0
125
+ -----
126
+
127
+ * ENHANCEMENT: Sentry server errors now return some information about the response headers. [#585, @rafadc]
128
+ * 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]
129
+ * 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
130
+ * 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]
131
+ * BUGFIX: Raven no longer emits anything to STDOUT if a system command fails [#596, @nateberkopec]
132
+ * ENHANCEMENT: Raven now tells you exactly why it will not send an event in the logs [#602, @nateberkopec]
133
+
134
+ 2.1.4
135
+ -----
136
+
137
+ * FIX: Remove `contexts` key, because it was disabling browser auto-tagging [#587, @nateberkopec]
138
+
139
+ 2.1.3
140
+ -----
141
+
142
+ * Move `os` context key to `server_os` [@nateberkopec]
143
+
144
+ 2.1.2
145
+ -----
146
+
147
+ * FIX: `sys_command` not falling back to Windows commands properly, logging output [@jmalves, @nateberkopec]
148
+
149
+ 2.1.1
150
+ -----
151
+
152
+ * FIX: Message params should accept nil [@jmalves, #570]
153
+
154
+ 2.1.0
155
+ -----
156
+
157
+ ENHANCEMENTS:
158
+
159
+ * Your client version is now included in all Events. [@nateberkopec, #559]
160
+ * OS and Ruby runtime information now included in all Events. [@nateberkopec, #560]
161
+ * Transport errors (like Sentry 4XX errors) now raise Sentry::Error, not Faraday errors. [@nateberkopec, #565]
162
+ * Sidekiq integration is streamlined and improved. Supports Sidekiq 3.x and up. [@nateberkopec, #555]
163
+
164
+ FIXES:
165
+
166
+ * Heroku release detection is improved and more accurate. You must `heroku labs:enable runtime-dyno-metadata` for it to work. [@nateberkopec, #566]
167
+
168
+ 2.0.2
169
+ -----
170
+
171
+ * FIX: Don't set up Rack-Timeout middleware. [@janraasch, #558]
172
+
173
+ 2.0.1
174
+ -----
175
+
176
+ * FIX: UUIDs were being rejected by Sentry as being too long [@nateberkopec]
177
+
178
+ 2.0.0
179
+ -----
180
+
181
+ BREAKING CHANGES:
182
+
183
+ * 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]
184
+ * Several deprecated accessors have been removed [@nateberkopec, #543]
185
+ * You can no longer pass an object which cannot be called to `should_capture` [@nateberkopec, #542]
186
+
187
+ ENHANCEMENTS:
188
+
189
+ * Rack::Timeout exceptions are now fingerprinted by URL, making them more useful [@nateberkopec, #538]
190
+ * 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]
191
+
192
+ FIXES:
193
+
194
+ * User/Event IP addresses are now set more accurately. This will fix many issues with local proxy setups (nginx, etc). [@nateberkopec, #546]
195
+ * We now generate a real UUID in the correct format for Event IDs [@nateberkopec, #549]
196
+ * If `async` sending fails, we retry with sync sending. [@nateberkopec, #548]
197
+ * 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]
198
+
199
+ OTHER:
200
+
201
+ * Codebase cleaned up with Rubocop [@nateberkopec, #544]
202
+
203
+ 1.2.3
204
+ -----
205
+
206
+ * ENHANCEMENT: Send the current environment to Sentry [@dcramer, #530]
207
+ * BUGFIX: Fix all warnings emitted by Ruby verbose mode [@nateberkopec]
208
+ * BUGFIX: Fix compat with `log4r` [@nateberkopec, #535]
209
+
210
+ 1.2.2
211
+ -----
212
+
213
+ * BUGFIX: NameError in DelayedJob integration. [janraasch, #525]
214
+
215
+ 1.2.1
216
+ -----
217
+
218
+ * BUGFIX: Context clearing should now work properly in DelayedJob and Sidekiq. Also, we properly clear context if Sentry causes an exception. [nateberkopec, #520]
219
+ * 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]
220
+
221
+ 1.2.0
222
+ -----
223
+
224
+ * FEATURE: Raven now supports Breadcrumbs, though they aren't on by default. Check the docs for how to enable. [dcramer, #497]
225
+ * FEATURE: Raven is no longer a singleton, you may have many `Raven::Instance`s. [phillbaker, #504]
226
+ * PERFORMANCE: Raven no longer uses a vendored JSON implementation. JSON processing and encoding should be up to 6x faster. [dcramer, #510]
227
+ * BUGFIX: silence_ready now works for Rails apps. [ream88, #512]
228
+ * BUGFIX: transport_failure_callback now works correctly [nateberkopec, #508]
229
+
230
+ 1.1.0
231
+ -----
232
+
233
+ * The client exposes a ``last_event_id`` accessor at `Raven.last_event_id`. [dcramer, #493]
234
+ * PERFORMANCE: Skip identical backtraces from "re-raised" exceptions [databus23, #499]
235
+ * Support for ActionController::Live and Rails template streaming [nateberkopec, #486]
236
+
237
+ 1.0.0
238
+ -----
239
+
240
+ 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!
241
+
242
+ BREAKING CHANGES:
243
+
244
+ - Dropped support for Ruby 1.8.7 [nateberkopec, #465]
245
+ - `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]
246
+ - UDP transport has been removed [dcramer, #472]
247
+
248
+ OTHER CHANGES:
249
+
250
+ - Improved performance [zanker]
251
+ - Deprecated `config.catch_debugged_exceptions`, replaced with `config.rails_report_rescued_exceptions`. `catch_debugged_exceptions` will be removed in 1.1. [nateberkopec, #483]
252
+ - 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]
253
+ - JRuby builds fixed [RobinDaugherty]
254
+ - Fix problems with duplicate exceptions and `Exception.cause` [dcramer, #490]
255
+ - 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]
256
+ + Documentation from shaneog, squirly, dcramer, ehfeng, nateberkopec.
257
+
258
+ 0.15.6
259
+ ------
260
+
261
+ - Fixed bug where return value of debug middleware was nil [eugeneius, #461]
262
+ - Fixed a bug in checking `catch_debugged_exceptions` [greysteil, #458]
263
+ - Fixed a deprecation warning for Rails 5 [Elektron1c97, #457]
264
+
265
+ 0.15.5
266
+ ------
267
+
268
+ - DelayedJob integration fixed when last_error not present [dcramer, #454]
269
+ - Release detection doesn't overwrite manual release setting in Rails [eugeneius, #450]
270
+ - Deal properly with Cap 3.0/3.1 revision logs [timcheadle, #449]
271
+ - Rails 5 support [nateberkopec, #423]
272
+
273
+ 0.15.4
274
+ ------
275
+
276
+ - DelayedJob integration now also truncates last_error to 100 characters [nateberkopec]
277
+ - Fix several issues with release detection - silence git log message, fix Capistrano detection [nateberkopec, kkumler]
278
+
279
+
280
+ 0.15.3
281
+ ------
282
+
283
+ - Double exception reporting in Rails FIXED! [nateberkopec, #422]
284
+ - Rails 3 users having issues with undefined runner fixed [nateberkopec, #428]
285
+ - Sidekiq integration works properly when ActiveJob enabled [mattrobenolt]
286
+ - Fix problems with invalid UTF-8 in exception messages [nateberkopec, #426]
287
+ - Backtraces now consider "exe" directories part of the app [nateberkopec, #420]
288
+ - Sinatra::NotFound now ignored by default [drcapulet, #383]
289
+ - Release versions now properly set. Support for Heroku, Capistrano, and Git. [iloveitaly #377, Sija #380]
290
+ - DelayedJob integration plays well with ActiveJob [kkumler, #378]
291
+ - DelayedJob handlers now truncated [nateberkopec, #431]
292
+ - Tons of code quality improvements [amatsuda, ddrmanxbxfr, pmbrent, cpizzaia, wdhorton, PepperTeasdale]
293
+
294
+ 0.15.2
295
+ ------
296
+
297
+ - Reverted ActiveJob support due to conflicts [#368]
298
+
299
+ 0.15.1
300
+ ------
301
+
302
+ - Fix ActiveJob support [greysteil, #367]
303
+
304
+ 0.15.0
305
+ ------
306
+
307
+ - Remove Certifi and use default Ruby SSL config [zanker, #352]
308
+ - Support for ``fingerprint`` [dcramer]
309
+ - Improved documentation and tests around various attributes [dcramer]
310
+ - Allow configurable integrations [cthornton]
311
+ - Prevent recursion with ``Exception.cause`` [dcramer, #357]
312
+ - Use empty hash if false-y value [GeekOnCoffee, #354]
313
+ - Correct some behavior with at_exit error capturing [kratob, #355]
314
+ - Sanitize matches whole words [alyssa, #361]
315
+ - Expose more debugging info to active_job integration [tonywok, #365]
316
+ - Capture exceptions swallowed by rails [robertclancy, #343]
317
+ - Sanitize the query string when the key is a symbol [jason-o-matic, #349]
318
+ - Moved documentation to docs.getsentry.com [mitsuhiko]
319
+
320
+ 0.14.0
321
+ ------
322
+
323
+ - Correct handling of JRuby stacktraces [dcramer]
324
+ - Better handling of unreachable file contexts [dcramer, #335]
325
+ - SSL is now default ON [dcramer, #338]
326
+ - Capture exceptions in runner tasks [eugeneius, #339]
327
+ - ActiveJob integration [lucasmazza, #327]
328
+ - Cleanup return values of async blocks [lucasmazza, #344]
329
+ - Better handling when sending NaN/Infinity JSON values [Alric, #345]
330
+ - Fix issues with digest/md5 namespace [lsb, #346]
331
+
332
+ 0.13.3
333
+ ------
334
+
335
+ - Fix a deprecation warning being shown in regular operation [ripta, #332]
336
+
337
+ 0.13.2
338
+ ------
339
+
340
+ - DelayedJob integration now includes the job id [javawizard, #321]
341
+ - Rails integration now works properly when you're not using all parts of Rails (e.g. just ActiveRecord) [lucasmazza, #323]
342
+ - Bugfix CLI tool when async config is on [if1live, #324]
343
+ - Fix and standardize tag hierarchies. Event tags > context tags > configuration tags in all cases. [JonathanBatten, #322 and eugeneius, #330]
344
+ - 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]
345
+ - You can now disable credit-card-like value filtering. [codekitchen, #329]
346
+
347
+ 0.13.1
348
+ ------
349
+
350
+ - Raven::Transports::HTTP#send returns the response now. [eagletmt, #317]
351
+ - Filenames now work a lot better when you vendor your gems. [eugeneius, #316]
352
+ - Fix raven:test issue when testing non-async configurations. [weynsee, #318]
353
+ - Fix blockless Raven#capture. [dinosaurjr, #320]
354
+ - Fix some log messages [eagletmt, #319]
355
+
356
+ 0.13.0
357
+ ------
358
+
359
+ - Support exception chaining [javawizard, #312]
360
+ - Add support for sending release version [eugeneius, #310]
361
+ - Better status reports on configuration [faber, #309]
362
+ - 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]
363
+ - Fix duplicate fields in SanitizeData [wyattisimo, #294]
364
+ - Always preserve filename paths under project_root [eugeneius, #291]
365
+ - Truncate project root prefixes from filenames [eagletmt, #278]
366
+ - Renamed should_send callback to should_capture [nateberkopec, #270]
367
+ - Silencing the ready message now happens in the config as normal [nateberkopec, #260]
368
+ - Various internal refactorings [see here](https://github.com/getsentry/raven-ruby/compare/0-12-stable...master)
369
+
370
+ 0.12.3
371
+ ------
372
+
373
+ - URL query parameters are now sanitized for sensitive data [pcorliss, #275]
374
+ - Raven::Client can now use a proxy server when sending events to Sentry [dcramer, #277]
375
+ - Raven::Client will now use a timed backoff strategy if the server fails [codekitchen, #267]
376
+ - Automatic integration loading is now a lot less brittle [dcramer, handlers, #263, #264]
377
+ - Fixed some issues with prefixes and DSN strings [nateberkopec, #259]
378
+ - If Raven is initialized without a server config, it will no longer send events [nateberkopec, #258]
379
+ - Slightly nicer credit-card-like number scrubbing [nateberkopec, #254]
380
+ - Fix some exceptions not being caught by Sidekiq middleware [nateberkopec, #251]
381
+ - Uncommon types are now encoded correctly [nateberkopec, #249]
382
+
383
+ 0.12.2
384
+ ------
385
+
386
+ - Security fix where exponential numbers in specially crafted params could cause a CPU attack [dcramer, #262]
387
+
388
+ 0.12.1
389
+ ------
390
+
391
+ - Integrations (Sidekiq, DelayedJob, etc) now load independently of your Gemfile order. [nateberkopec, #236]
392
+ - Fixed bug where setting tags mutated your configuration [berg, #239]
393
+ - Fixed several issues with SanitizeData and UTF8 sanitization processors [nateberkopec, #238, #241, #244]
394
+
395
+ 0.12.0
396
+ ------
397
+
398
+ - 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.getsentry.com/hosted/clients/ruby/config/). [jamescway, #232]
399
+ - 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]
400
+ - Dependency on `uuidtools` has been removed. [nateberkopec, #231]
401
+
402
+ 0.11.2
403
+ ------
404
+
405
+ - Fix some issues with the SanitizeData processor when processing strings that look like JSON
406
+
407
+
408
+ 0.11.1
409
+ ------
410
+
411
+ - Raven now captures exceptions in Rake tasks automatically. [nateberkopec, troelskn #222]
412
+ - 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]
413
+ - Raven now includes three event processors by default instead of one, which can be turned on and off independently. [nateberkopec, #223]
414
+ - Fixed bug with YAJL compatibility. [nateberkopec, #223]
415
+
416
+ 0.10.1
417
+ ------
418
+
419
+ - Updated to RSpec 3.
420
+ - Apply filters to encoded JSON data.
421
+
422
+
423
+ 0.10.0
424
+ ------
425
+
426
+ - Events are now sent to Sentry in all environments. To change this behavior, either unset ```SENTRY_DSN``` or explicitly configure it via ```Raven.configure```.
427
+ - gzip is now the default encoding
428
+ - Removed hashie dependency
429
+
430
+
431
+ 0.9.0
432
+ -----
433
+
434
+ - Native support for Delayed::Job [pkuczynski, #176]
435
+ - Updated to Sentry protocol version 5
436
+
437
+
438
+ 0.5.0
439
+ -----
440
+ - Rails 2 support [sluukonen, #45]
441
+ - Controller methods in Rails [jfirebaugh]
442
+ - Runs by default in any environment other than test, cucumber, or development. [#81]