|
5 | 5 | ### Features |
6 | 6 |
|
7 | 7 | - Add screenshot masking support using view hierarchy ([#5077](https://github.com/getsentry/sentry-java/pull/5077)) |
8 | | - - Masks sensitive content (text, images) in error screenshots before sending to Sentry |
9 | | - - Reuses Session Replay's masking logic; **requires `sentry-android-replay` module at runtime** |
10 | | - - To enable masking programmatically: |
11 | | - ```kotlin |
12 | | - SentryAndroid.init(context) { options -> |
13 | | - options.isAttachScreenshot = true |
14 | | - options.screenshotOptions.setMaskAllText(true) |
15 | | - options.screenshotOptions.setMaskAllImages(true) |
16 | | - } |
17 | | - ``` |
18 | | - - Or via AndroidManifest.xml: |
19 | | - ```xml |
20 | | - <meta-data android:name="io.sentry.attach-screenshot" android:value="true" /> |
21 | | - <meta-data android:name="io.sentry.screenshot.mask-all-text" android:value="true" /> |
22 | | - <meta-data android:name="io.sentry.screenshot.mask-all-images" android:value="true" /> |
23 | | - ``` |
24 | | -- Add `installGroupsOverride` parameter and `installGroups` property to Build Distribution SDK ([#5062](https://github.com/getsentry/sentry-java/pull/5062)) |
| 8 | +- Add `installGroupsOverride` parameter to Build Distribution SDK for programmatic filtering, with support for configuration via properties file using `io.sentry.distribution.install-groups-override` ([#5066](https://github.com/getsentry/sentry-java/pull/5066)) |
| 9 | + |
| 10 | +### Fixes |
| 11 | + |
| 12 | +- When merging tombstones with Native SDK, use the tombstone message if the Native SDK didn't explicitly provide one. ([#5095](https://github.com/getsentry/sentry-java/pull/5095)) |
| 13 | +- Fix thread leak caused by eager creation of `SentryExecutorService` in `SentryOptions` ([#5093](https://github.com/getsentry/sentry-java/pull/5093)) |
| 14 | + - There were cases where we created options that ended up unused but we failed to clean those up. |
| 15 | +- Attach user attributes to logs and metrics regardless of `sendDefaultPii` ([#5099](https://github.com/getsentry/sentry-java/pull/5099)) |
| 16 | +- No longer log a warning if a logging integration cannot initialize Sentry due to missing DSN ([#5075](https://github.com/getsentry/sentry-java/pull/5075)) |
| 17 | + - While this may have been useful to some, it caused lots of confusion. |
| 18 | +- Session Replay: Add `androidx.camera.view.PreviewView` to default `maskedViewClasses` to mask camera previews by default. ([#5097](https://github.com/getsentry/sentry-java/pull/5097)) |
| 19 | + |
| 20 | +### Dependencies |
| 21 | + |
| 22 | +- Bump Native SDK from v0.12.4 to v0.12.7 ([#5071](https://github.com/getsentry/sentry-java/pull/5071), [#5098](https://github.com/getsentry/sentry-java/pull/5098)) |
| 23 | + - [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0127) |
| 24 | + - [diff](https://github.com/getsentry/sentry-native/compare/0.12.4...0.12.7) |
| 25 | + |
| 26 | +### Internal |
| 27 | + |
| 28 | +- Add integration to track session replay custom masking ([#5070](https://github.com/getsentry/sentry-java/pull/5070)) |
| 29 | + |
| 30 | +## 8.32.0 |
| 31 | + |
| 32 | +### Features |
| 33 | + |
| 34 | +- Add `installGroups` property to Build Distribution SDK ([#5062](https://github.com/getsentry/sentry-java/pull/5062)) |
25 | 35 | - Update Android targetSdk to API 36 (Android 16) ([#5016](https://github.com/getsentry/sentry-java/pull/5016)) |
26 | 36 | - Add AndroidManifest support for Spotlight configuration via `io.sentry.spotlight.enable` and `io.sentry.spotlight.url` ([#5064](https://github.com/getsentry/sentry-java/pull/5064)) |
27 | 37 | - Collect database transaction spans (`BEGIN`, `COMMIT`, `ROLLBACK`) ([#5072](https://github.com/getsentry/sentry-java/pull/5072)) |
|
32 | 42 | sentry: |
33 | 43 | enable-database-transaction-tracing: true |
34 | 44 | ``` |
| 45 | +- Add support for collecting native crashes using Tombstones ([#4933](https://github.com/getsentry/sentry-java/pull/4933), [#5037](https://github.com/getsentry/sentry-java/pull/5037)) |
| 46 | + - Added Tombstone integration that detects native crashes using `ApplicationExitInfo.REASON_CRASH_NATIVE` on Android 12+ |
| 47 | + - Crashes enriched with Tombstones contain more crash details and detailed thread info |
| 48 | + - Tombstone and NDK integrations are now automatically merged into a single crash event, eliminating duplicate reports |
| 49 | + - To enable it, add the integration in your Sentry initialization: |
| 50 | + ```kotlin |
| 51 | + SentryAndroid.init(context, options -> { |
| 52 | + options.isTombstoneEnabled = true |
| 53 | + }) |
| 54 | + ``` |
| 55 | + or in the `AndroidManifest.xml` using: |
| 56 | + ```xml |
| 57 | + <meta-data android:name="io.sentry.tombstone.enable" android:value="true" /> |
| 58 | + ``` |
35 | 59 |
|
36 | 60 | ### Fixes |
37 | 61 |
|
|
42 | 66 | debugImplementation("io.sentry:sentry-spotlight:<version>") |
43 | 67 | } |
44 | 68 | ``` |
45 | | - |
46 | | -### Fixes |
47 | | - |
48 | 69 | - Fix scroll target detection for Jetpack Compose ([#5017](https://github.com/getsentry/sentry-java/pull/5017)) |
| 70 | +- No longer fork Sentry `Scopes` for `reactor-kafka` consumer poll `Runnable` ([#5080](https://github.com/getsentry/sentry-java/pull/5080)) |
| 71 | + - This was causing a memory leak because `reactor-kafka`'s poll event reschedules itself infinitely, and each invocation of `SentryScheduleHook` created forked scopes with a parent reference, building an unbounded chain that couldn't be garbage collected. |
| 72 | +- Fix cold/warm app start type detection for Android devices running API level 34+ ([#4999](https://github.com/getsentry/sentry-java/pull/4999)) |
49 | 73 |
|
50 | 74 | ### Internal |
51 | 75 |
|
|
0 commit comments