forked from getsentry/sentry-java
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES
531 lines (371 loc) · 16.6 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
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
Version 1.7.32
--------------
-
Version 1.7.31
--------------
- Android Gradle Plugin: Support App Bundles (aab) #818
- Android Gradle Plugin: Support AGP 3.6.x
- Android Gradle Plugin: Bug fixing #740
Version 1.7.30
--------------
- fixed context returns new Maps (#814)
- added requireNonNull utils (#810)
- Android Gradle Plugin: Uploading native symbols and sources
Version 1.7.29
--------------
- Add method to check if Sentry is already initializated #783
- Proguard: Keep exception type names #790
- Blacklist other frameworks using cglib dynamic classes, like Guice #796
- Logback: Adds support for logback encoders (the message field is encoded). #794
- Android Gradle Plugin: Changes for making it to work with AGP 3.0, 3.1 and 3.2 #798
- Fixed loosing of interruption status in EventBuilder. #799
Version 1.7.28
--------------
- Allow an implementation of Lookup to be provided #755
- Don't attemp to send null events #769
- Fix error calling getPackageInfo on Huawei devices #774
- Fix bug where null return instead of file list #775
- Add millisecond precision to breadcrumb #777
- Jackson version bumped to 2.10.0 #771
Version 1.7.27
--------------
- Android: Fix setResourceLoader order #753
- Fix classLoader lookup #754
- Android ANR support: #752
Version 1.7.26
--------------
- SentryClient fixed override of event data with default data #751
- Introduce SentryOptions #751
- Android Gradle Plugin: Allow replacing ResourceLoader #739
- Android Gradle Plugin: Fix find dex task #743
Version 1.7.25
--------------
- Android Gradle Plugin: Fixed bug when using ABI splits #667
- Android Gradle Plugin: Support Android App Bundle #707
- Android SDK: Support providing the whole Application Context #713
Version 1.7.24
--------------
- Android Gradle plugin: Look for sentry.properties on flavor directory.
- Android Gradle plugin: Bumped sentry-cli version.
Version 1.7.23
--------------
- Remove usage of deprecated constructors in log4j2 (thanks justacodefan)
- Change logback appender to the unsynchronized version (thanks SerCeMan)
- When a secret key is not set, don't throw NPE (thanks mayt017)
- Upgrade Jackson to version 2.9.9 (thanks justacodefan)
- Don't erase inner class names from stack trace interface when it's of type exception (thanks justacodefan)
- Add more classes to blacklist and optimize parsing (thanks justacodefan)
- Include log4j marker parent(s) in log4j marker tag (thanks JoakimNil)
- Allow read timeout to be configured (thanks mdreis2211)
- Gradle plugin on AGP version 3.4 (thanks justacodefan, ninniuz, remcomokveld, realdadfish)
- Find dex task when shrinking resources (thanks codeniko)
Version 1.7.22
--------------
- Don't put body in nested object if parameterMap is empty. (thanks erhangullu)
- Allow creating and setting an `HttpInterface` in the Context. (thanks chris-smith-zocdoc)
Version 1.7.21
--------------
- Updating sentry-cli version in the Android gradle plugin.
Version 1.7.20
--------------
- Fixes for Android R8 support.
Version 1.7.19
--------------
- Add support for Android R8 minification.
Version 1.7.18
--------------
- Fix `--no-upload` option in Sentry Gradle Plugin under newer Groovy.
- Allow overriding Sentry Organization and Project per buildType. (thanks nesterov-n)
Version 1.7.17
--------------
- Fix for Sentry Gradle Plugin when using Android Studio 3.3 and Gradle 5.1.
Version 1.7.16
--------------
- Fix timestamp format locale to be what Sentry expects.
- Add `sentry-spring-boot-starter` module that autoconfigures Sentry for Spring-Boot. (thanks eddumelendez)
- Fix Sentry Gradle Plugin for AGP 3.3 and Gradle 4.10 (thanks realdadfish)
Version 1.7.15
--------------
- Allow users to provide a custom `manifestPath` in the Sentry Gradle Plugin.
Version 1.7.14
--------------
- Fix Sentry Gradle Plugin asset directory so Proguard debug information
is written to the correct location when using newer versions of the
Android Gradle Plugin.
Version 1.7.13
--------------
- Fix compatibility with Gradle 4.4+ (#621) (thanks cezary-butler)
- Bump Sentry Gradle Plugin embedded sentry-cli to 1.36.3
Version 1.7.12
--------------
- Only set `release` and `dist` on Android events if the user didn't provide their own.
- Allow Gradle plugin to be included in library projects. (thanks linakis)
Version 1.7.11
--------------
*Accidentally republished 1.7.10, please skip this release*
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``