forked from getsentry/sentry-java
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES
387 lines (269 loc) · 12.3 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
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
Version 1.7.11
--------------
-
Version 1.7.10
--------------
- Android Plugin: Look for properties file directly under flavor directory. (thanks biggestT)
- Drop events when the server returns an HTTP 429.
Version 1.7.9
-------------
- Encode SDK_VERSION in a Java class instead of looking up a ResouceBundle.
Version 1.7.8
-------------
- Fix Android Gradle Plugin for >=3.3.0.
Version 1.7.7
-------------
- Handle exceptions in `toString` calls when marshalling arbitrary objects to JSON.
Version 1.7.6
-------------
*Built with the incorrect version of Java, please skip this release*
Version 1.7.5
-------------
- Add `BreadcrumbBuilder.withData` (thanks kohenkatz)
Version 1.7.4
-------------
- Allow new-style DSNs without the secret key.
Version 1.7.3
-------------
- Handle Event `extra` deserialization failures when using Proguard. (thanks mcomella)
- Fix support for JUL handler level. (thanks nsitbon)
Version 1.7.2
-------------
- Set HTTPConnection read timeout to 5 seconds. (thanks kalaspuffar)
Version 1.7.1
-------------
- Android Gradle Plugin: Improve various directory structure support. (thanks ruZZil)
Version 1.7.0
-------------
- Warn (once) when a client lockdown is first initiated and why.
- Log events skipped by a lockdown at the DEBUG level.
- Don't log a full stacktrace when an HTTP 429 (Too Many Requests) is returned.
- Fix parsing of Retry-After header which apparently changed to a floating point number.
- Pass MDC context down to AsyncConnection worker threads.
- Changed `buffer.size` default from 50 to 10.
- When buffering is enabled, only retry sending events when the network is down or the project
is being throttled (HTTP 429).
Version 1.6.8
-------------
- Create a noop sentry client when the user provides bad configuration. (thanks dmclain)
- Use project.name instead of hardcoding 'app' in Android Gradle Plugin.
Version 1.6.7
-------------
- Add Automatic-Module-Name to manifest so we have basic Java 9 support.
- Print unhandled exceptions to stderr by default (like ThreadGroup does).
Version 1.6.6
-------------
- Attempt to unregister async/buffer shutdown hooks when connection is closed. (thanks obourgain)
Version 1.6.5
-------------
- Implemented Serializable for DebugImage, fixes buffering with Proguard symbols.
- Use default DSN when empty string is provided. (thanks afking)
Version 1.6.4
-------------
- Add web-fragment.xml to prevent classpath scanning.
- Update Android Gradle plugin to use new NPM package if available.
Version 1.6.3
-------------
- Fix issue where Gradle tasks were not created. (thanks szymanskip)
Version 1.6.2
-------------
- Handle multi-APK projects with different version codes.
Version 1.6.1
-------------
- Don't throw a ConnectionException if an event is filtered by the Sentry server (HTTP 403).
Version 1.6.0
-------------
- Add transaction field to Event and EventBuilder.
- Deprecate culprits in favor of transactions.
- Culprit is no longer set automatically in logging integrations.
Version 1.5.6
-------------
- Add ``in_app`` frame blacklist regex list to skip CGLIB generated classes in Spring.
Version 1.5.5
-------------
- Fix crash on Android API < 16. (thanks Syhids)
Version 1.5.4
-------------
- Change ``EventBuilder$HostnameCache`` timeout to only log at debug level.
Version 1.5.3
-------------
- Cleanup SentryEnvironment state to avoid memory leak warnings on Tomcat.
- Fix for buffering Events to disk that have null values in their extras map.
Version 1.5.2
-------------
- Add ability to remove individual tags or extra data from the context, or clear them entirely.
Version 1.5.1
-------------
- Don't attempt to serialize Iterables and don't special case serialization for Path objects, fixes broken Android release.
Version 1.5.0
-------------
- Reduce logging noise if JNDI is missing.
- Add OSGi support. (thanks markwoon)
- Local variable agent beta.
Version 1.4.0
-------------
- Automatically set ``stacktrace.app.packages`` on Android if it is not provided by the user.
- Enable UncaughtExceptionHandler by default, add ``uncaught.handler.enabled`` option.
- Add Spring exception reporter and Spring Boot servlet initializer.
Version 1.3.1
-------------
- Reduce startup and shutdown logging noise by moving a lot of INFO level logs to DEBUG.
- Android: fallback to `os.version` property for kernel version is `/proc/version` is unreadable.
Version 1.3.0
-------------
- Deprecate ``extratags`` in favor of the more clear ``mdctags``.
- Add ability to set ``extra`` data via options and on ``SentryClient`` instances.
- Add ability to set ``extra`` data and ``tags`` in the current context.
Version 1.2.2
-------------
- Make operations on Context threadsafe.
Version 1.2.1
-------------
- Fix ``SentryStackTraceElement`` to implement ``Serializable``.
Version 1.2.0
-------------
- Allow overriding the location of the properties file.
- Add support for handling and uploading Proguard files to Sentry (for Android applications).
- Cleanup thread local context in ``ThreadLocalContextManager`` after each servlet request finishes.
- Change the ``EventBuilder`` hostname lookup code to only run one thread at a time.
- Add ``ShouldSendEventCallback``, which can be added to each ``SentryClient`` instance.
- Add ability to set extra data on the ``UserInterface``.
Version 1.1.0
-------------
- Add ability to set the culprit from a SentryStackTraceElement.
- (alpha) Add agent to collect local variable informatino when an exception occurs.
Version 1.0.0
-------------
1.0.0 is a major refactor, please see the official documentation to see how configuration and usage
has changed: https://docs.sentry.io/clients/java/
- Move from ``com.getsentry.raven`` package to ``io.sentry``.
- Rename from ``raven-java`` to ``sentry-java``.
- Rename the ``Sentry`` class to ``SentryClient``.
- Rename the ``SentryFactory`` class to ``SentryClientFactory``, and renamed all subclasses
to now end in ``ClientFactory``.
- Remove ``Breadcrumbs`` class.
- Add new ``Sentry`` class for static client initialization, access and usage.
- Remove ``android.Sentry`` in favor of using the single static ``Sentry`` class everywhere.
- Rename ``sentryFactory`` option to ``factory`` so that the environment variable configuration is
now ``SENTRY_FACTORY`` and the Java System Property is ``sentry.factory``.
- Add ``dist`` field to Event.
- Compressed JSON payloads are no longer base64 encoded.
- Rename ``EventSendFailureCallback`` to ``EventSendCallback``, add ``onSuccess`` callback.
- Add way to set release, dist, environment, serverName, tags, and extraTags on a ``SentryClient``.
- Add way to set release, dist, environment, serverName, tags, and extraTags via the DSN.
- Logging integrations now use the new ``Sentry`` static API.
- Configuration can now be provided by a ``sentry.properties`` file provided in resources.
raven-java changelog (before rename to sentry-java)
===================================================
Version 8.0.2
-------------
- Add user breadcrumb type. (thanks NLthijs48)
- Add getter for underlying ``Event`` in ``EventBuilder`` so that helpers can read fields. (thanks anjo-swe)
Version 8.0.1
-------------
- Fix setting the ``RavenFactory`` via Java System Properties or environment variables.
- Fix message interface errors in log4j2 integration.
Version 8.0.0
-------------
- Remove ``DefaultRavenFactory.getNotInAppFrames()`` blacklist in favor of a new whitelist method,
``DefaultRavenFactory.getInAppFrames(Dsn dsn)``.
- Add ``raven.stacktrace.app.packages`` DSN option for configuring your application's package prefixes.
- Fix so that system properties and environment variables always override hardcoded logger configuration for settings
such as release, environment, etc.
- Fix Raven initialization so that slf4j doesn't emit log replay warning on startup.
- Changed ``Breadcrumb`` and `BreadcrumbBuilder`` to use enums for some fields.
Version 7.8.6
-------------
- Automatically collect device information in ``contexts`` field on Android.
- Updated Jackson, slf4j, log4j2 and logback dependencies.
Version 7.8.5
-------------
- Add optional ``body`` field to HttpInterface.
- Fix name of the lockdown logger.
Version 7.8.4
-------------
- Add ``contexts`` field support to Events.
- Add ``com.getsentry.raven.Raven.lockdown`` logger that can be disabled to ignore warning messages
on each attempted Event send when Raven is in lockdown mode.
Version 7.8.3
-------------
- Add User to RavenContext and ContextBuilderHelper. (thanks mpecan)
- Drop Events when the connection is locked down, users must enable buffering to attempt to resend later.
- Respect the Sentry server's ``Retry-After`` header.
Version 7.8.2
-------------
- Fix race condition, ensuring Raven initialization is synchronized in appenders. (thanks OutOfBrain)
- Allow use of custom AndroidRavenFactory. (thanks kassim)
- Add ``sdk`` field to payload, identify subprojects in SDK name.
- Add ``raven.sample.rate`` DSN option to optionally reduce the number of events sent to the server.
Version 7.8.1
-------------
- Make Breadcrumbs serializable.
- Don't log errors in RavenServletRequestListener if Raven hasn't been initialized.
Version 7.8.0
-------------
- Add Android support under the ``raven-android`` subproject.
- Add Filters to drop all Raven logs before they go to the Sentry server.
- Loosen permission on some Appender/Handler methods to allow for easier overriding. (thanks briprowe)
Version 7.7.1
-------------
- Add ``raven.maxmessagelength`` DSN option. (thanks vektory79)
- Add ``Buffer`` interface, used to store events that fail to be sent to the Sentry server.
Includes a DiskBuffer implementation and related ``raven.buffer.*`` options.
- Broke out many helper methods inside of ``DefaultRavenFactory`` to allow for easier
overrides.
- Add a way to retrieve the thread's last sent Event ID, if any. Useful for integrating
with the user feedback feature.
- Add ``raven.async.queue.overflow`` option for controlling what to do when the async
executor queue is full. (thanks barogi)
Version 7.7.0
-------------
- Add static ``Raven.capture`` methods that send to the most recently constructed Raven instance.
- Add support for setting ``ravenFactory``, ``release``, ``environment`` and ``serverName``
via JNDI, System Environment or Java System Properties (like the DSN).
- Send headers as an array of arrays, no longer wrapped in added apostrophes.
Version 7.6.0
-------------
- Add ``environment`` property to events and appenders.
Version 7.5.0
-------------
- Add support for configuring an HTTP proxy in the DSN.
- Add more debugging information to ``RavenFactory.ravenInstance``.
- Add ``formatted`` field to JSON payload if possible.
Version 7.4.0
-------------
- Changed default ``raven.async.queuesize`` from unlimited to 50.
- Add callback system for exceptions raised while attempting to send events.
Version 7.3.0
-------------
- Add (manual) support for breadcrumbs to event objects.
- Add ``sendEvent(EventBuilder)`` method which calls builder helpers before building and sending the ``Event``.
- Add ``RavenContext`` which tracks thread-local state.
- Add ``Breadcrumbs`` helper to log breadcrumbs from anywhere without manually passing context around.
Version 7.2.3
-------------
- Accept ``Throwable`` instances as parameter to ``Raven.sendException``.
- Add ``raven.async.shutdowntimeout`` option.
- Remove default ``WARNING`` filter level for the Logback appender.
Version 7.2.2
-------------
- Fix ServerName configuration in ``raven-log4j``.
Version 7.2.1
-------------
- Drop dependency on Guava.
Version 7.2.0
-------------
- Add printfStyle option to JUL integration. (thanks giilby)
- Updated Log4j2 documentation to refer to the Thread Context rather than the MDC. (thanks grobmeier)
- Fix duplicate ShutdownHook warnings in ``raven-log4j2``.
- Add way to override how remote addresses are resolved (RemoteAddressResolver interface). (thanks j-fernandes)
- Add way to set ``serverName`` statically in configuration. (thanks mattbillenstein)
Version 7.1.0
-------------
- Use RavenFactory's class loader when creating the service loader, fixing some issues in containers. (thanks exell-christopher)
- Add ``release`` property to ``raven-log4j``. (thanks molaschi)
- Add ``release`` property to JUL integration and ``raven-log4j2``.
- Add setters for ``dsn`` and ``tags`` in JUL integration, fixes integration with WildFly. (thanks giilby)
Version 7.0.0
-------------
- Changed Maven groupId to ``com.getsentry``