forked from isolationism/raven-python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
288 lines (202 loc) · 8.27 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
Version 3.0.0
-------------
Version 3.0 of Raven requires a Sentry server running at least version 5.1, as it implements
version 3 of the protocol.
Support includes:
* Sending 'python' as the platform.
* The 'tags' option (on all constructors that support options).
* Updated authentication header.
Additionally, the following has changed:
* Configuring the client with an empty DSN value will disable sending of messages.
* All clients should now check ``Client.is_enabled()`` to verify if they should send data.
* ``Client.create_from_text`` and ``Client.create_from_exception`` have been removed.
* ``Client.message`` and ``Client.exception`` have been removed.
* The ``key`` setting has been removed.
* The ``DEBUG`` setting in Django no longer disables Raven.
* The ``register_signals`` option in RAVEN_CONFIG (Django) is no longer used.
* A new helper, ``Client.context()`` is now available for scoping options.
* ``Client.captureExceptions`` is now deprecated in favor of ``Client.context``.
* Credit card values will now be sanitized with the default processors.
* A new eventlet+http transport exists.
* A new threaded+http transport exists.
* PyPy is now supported.
* Django 1.5 should now be supported (experimental).
* Gevent 1.0 should now be supported (experimental).
* Python 2.5 is no longer supported.
* [Django] The ``skip_sentry`` attribute is no longer supported. A new option config option has replaced this: ``SENTRY_IGNORE_EXCEPTIONS``.
Version 2.0.0
-------------
* New serializers exist (and can be registered) against Raven. See ``raven.utils.serializer`` for more information.
* You can now pass ``tags`` to the ``capture`` method. This will require a Sentry server compatible with the new
tags protocol.
* A new gevent+http transport exists.
* A new tornado+http transport exists.
* A new twisted+http transport exists.
* Zope integration has been added. See docs for more information.
* PasteDeploy integration has been added. See docs for more information.
* A Django endpoint now exists for proxying requests to Sentry. See ``raven.contrib.django.views`` for more information.
Version 1.9.0
-------------
* Signatures are no longer sent with messages. This requires the server version to be at least 4.4.6.
* Several fixes and additions were added to the Django report view.
* ``long`` types are now handled in transform().
* Improved integration with Celery (and django-celery) for capturing errors.
Version 1.8.0
-------------
* There is now a builtin view as part of the Django integration for sending events server-side
(from the client) to Sentry. The view is currently undocumented, but is available as ``{% url raven-report %}``
and will use your server side credentials. To use this view you'd simply swap out the servers configuration in
raven-js and point it to the given URL.
* A new middleware for ZeroRPC now exists.
* A new protocol for registering transports now exists.
* Corrected some behavior in the UDP transport.
* Celery signals are now connected by default within the Django integration.
Version 1.7.0
-------------
* The password sanitizer will now attempt to sanitize key=value pairs within strings (such as the querystring).
* Two new santiziers were added: RemoveStackLocalsProcessor and RemovePostDataProcessor
Version 1.6.0
-------------
* Stacks must now be passed as a list of tuples (frame, lineno) rather than a list of frames. This
includes calls to logging (extra={'stack': []}), as well as explicit client calls (capture(stack=[])).
This corrects some issues (mostly in tracebacks) with the wrong lineno being reported for a frame.
Version 1.4.0
-------------
* Raven now tracks the state of the Sentry server. If it receives an error, it will slow down
requests to the server (by passing them into a named logger, sentry.errors), and increasingly
delay the next try with repeated failures, up to about a minute.
Version 1.3.6
-------------
* gunicorn is now disabled in default logging configuration
Version 1.3.5
-------------
* Moved exception and message methods to capture{Exception,Message}.
* Added captureQuery method.
Version 1.3.4
-------------
* Corrected duplicate DSN behavior in Django client.
Version 1.3.3
-------------
* Django can now be configured by setting SENTRY_DSN.
* Improve logging for send_remote failures (and correct issue created when
send_encoded was introduced).
* Renamed SantizePassworsProcessor to SanitizePassworsProcessor.
Version 1.3.2
-------------
* Support sending the culprit with logging messages as part of extra.
Version 1.3.1
-------------
* Added client.exception and client.message shortcuts.
Version 1.3.0
-------------
* Refactored client send API to be more easily extensible.
* MOAR TESTS!
Version 1.2.2
-------------
* Gracefully handle exceptions in Django client when using integrated
setup.
* Added Client.error_logger as a new logger instance that points to
``sentry.errors``.
Version 1.2.1
-------------
* Corrected behavior with raven logging errors to send_remote
which could potentially cause a very large backlog to Sentry
when it should just log to ``sentry.errors``.
* Ensure the ``site`` argument is sent to the server.
Version 1.2.0
-------------
* Made DSN a first-class citizen throughout Raven.
* Added a Pylons-specific WSGI middleware.
* Improved the generic WSGI middleware to capture HTTP information.
* Improved logging and logbook handlers.
Version 1.1.6
-------------
* Corrected logging stack behavior so that it doesnt capture raven+logging
extensions are part of the frames.
Version 1.1.5
-------------
* Remove logging attr magic.
Version 1.1.4
-------------
* Correct encoding behavior on bool and float types.
Version 1.1.3
-------------
* Fix 'request' attribute on Django logging.
Version 1.1.2
-------------
* Corrected logging behavior with extra data to match pre 1.x behavior.
Version 1.1.1
-------------
* Handle frames that are missing f_globals and f_locals.
* Stricter conversion of int and boolean values.
* Handle invalid sources for templates in Django.
Version 1.1.0
-------------
* varmap was refactored to send keys back to callbacks.
* SanitizePasswordProcessor now handles http data.
Version 1.0.5
-------------
* Renaming raven2 to raven as it causes too many issues.
Version 1.0.4
-------------
* Corrected a bug in setup_logging.
* Raven now sends "sentry_version" header which is the expected
server version.
Version 1.0.3
-------------
* Handle more edge cases on stack iteration.
Version 1.0.2
-------------
* Gracefully handle invalid f_locals.
Version 1.0.1
-------------
* All datetimes are assumed to be utcnow() as of Sentry 2.0.0-RC5
Version 1.0.0
-------------
* Now only works with Sentry>=2.0.0 server.
* Raven is now listed as raven2 on PyPi.
Version 0.8.0
-------------
* raven.contrib.celery is now useable.
* raven.contrib.django.celery is now useable.
* Fixed a bug with request.raw_post_data buffering in Django.
Version 0.7.1
-------------
* Servers would stop iterating after the first successful post which was not the
intended behavior.
Version 0.7.0
-------------
* You can now explicitly pass a list of frame objects to the process method.
Version 0.6.1
-------------
* The default logging handler (SentryHandler) will now accept a set of kwargs to instantiate
a new client with (GH-10).
* Fixed a bug with checksum generation when module or function were missing (GH-9).
Version 0.6.0
-------------
* Added a Django-specific WSGI middleware.
Version 0.5.1
-------------
* Two minor fixes for the Django client:
* Ensure the __sentry__ key exists in data in (GH-8).
* properly set kwargs['data'] to an empty list when its a NoneType (GH-6).
Version 0.5.0
-------------
* Require ``servers`` on base Client.
* Added support for the ``site`` option in Client.
* Moved raven.contrib.django.logging to raven.contrib.django.handlers.
Version 0.4.0
-------------
* Fixed an infinite loop in iter_tb.
Version 0.3.0
-------------
* Removed the ``thrashed`` key in ``request.sentry`` for the Django integration.
* Changed the logging handler to correctly inherit old-style classes (GH-1).
* Added a ``client`` argument to ``raven.contrib.django.models.get_client()``.
Version 0.2.0
-------------
* auto_log_stacks now works with create_from_text
* added Client.get_ident
Version 0.1.0
-------------
* Initial version of Raven (extracted from django-sentry 1.12.1).