Skip to content

Commit f9e25f3

Browse files
authored
Merge branch 'main' into dependabot/github_actions/github/codeql-action-4.32.2
2 parents f7dbd8d + 2cbfa7b commit f9e25f3

35 files changed

+1641
-44
lines changed

.craft.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ targets:
4141
maven:io.sentry:sentry-android-fragment:
4242
maven:io.sentry:sentry-bom:
4343
maven:io.sentry:sentry-openfeign:
44-
#maven:io.sentry:sentry-openfeature:
44+
maven:io.sentry:sentry-openfeature:
4545
maven:io.sentry:sentry-opentelemetry-agent:
4646
maven:io.sentry:sentry-opentelemetry-agentcustomization:
4747
maven:io.sentry:sentry-opentelemetry-agentless:
@@ -66,3 +66,4 @@ targets:
6666
maven:io.sentry:sentry-reactor:
6767
maven:io.sentry:sentry-ktor-client:
6868
maven:io.sentry:sentry-async-profiler:
69+
maven:io.sentry:sentry-spotlight:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
.DS_Store
2+
.java-version
23
.idea/
34
.gradle/
45
.run/

CHANGELOG.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,19 @@
44

55
### Features
66

7-
- Add `installGroupsOverride` parameter and `installGroups` property to Build Distribution SDK ([#5062](https://github.com/getsentry/sentry-java/pull/5062))
7+
- 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))
8+
9+
### Dependencies
10+
11+
- Bump Native SDK from v0.12.4 to v0.12.6 ([#5071](https://github.com/getsentry/sentry-java/pull/5071))
12+
- [changelog](https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0126)
13+
- [diff](https://github.com/getsentry/sentry-native/compare/0.12.4...0.12.6)
14+
15+
## 8.32.0
16+
17+
### Features
18+
19+
- Add `installGroups` property to Build Distribution SDK ([#5062](https://github.com/getsentry/sentry-java/pull/5062))
820
- Update Android targetSdk to API 36 (Android 16) ([#5016](https://github.com/getsentry/sentry-java/pull/5016))
921
- 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))
1022
- Collect database transaction spans (`BEGIN`, `COMMIT`, `ROLLBACK`) ([#5072](https://github.com/getsentry/sentry-java/pull/5072))
@@ -15,6 +27,20 @@
1527
sentry:
1628
enable-database-transaction-tracing: true
1729
```
30+
- 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))
31+
- Added Tombstone integration that detects native crashes using `ApplicationExitInfo.REASON_CRASH_NATIVE` on Android 12+
32+
- Crashes enriched with Tombstones contain more crash details and detailed thread info
33+
- Tombstone and NDK integrations are now automatically merged into a single crash event, eliminating duplicate reports
34+
- To enable it, add the integration in your Sentry initialization:
35+
```kotlin
36+
SentryAndroid.init(context, options -> {
37+
options.isTombstoneEnabled = true
38+
})
39+
```
40+
or in the `AndroidManifest.xml` using:
41+
```xml
42+
<meta-data android:name="io.sentry.tombstone.enable" android:value="true" />
43+
```
1844

1945
### Fixes
2046

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ Sentry SDK for Java and Android
6767
| sentry-opentelemetry-core | ![Maven Central Version](https://img.shields.io/maven-central/v/io.sentry/sentry-opentelemetry-core?style=for-the-badge&logo=sentry&color=green) |
6868
| sentry-okhttp | ![Maven Central Version](https://img.shields.io/maven-central/v/io.sentry/sentry-okhttp?style=for-the-badge&logo=sentry&color=green) |
6969
| sentry-reactor | ![Maven Central Version](https://img.shields.io/maven-central/v/io.sentry/sentry-reactor?style=for-the-badge&logo=sentry&color=green) |
70+
| sentry-spotlight | ![Maven Central Version](https://img.shields.io/maven-central/v/io.sentry/sentry-spotlight?style=for-the-badge&logo=sentry&color=green) |
7071

7172
# Releases
7273

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ android.useAndroidX=true
1212
android.experimental.lint.version=8.9.0
1313

1414
# Release information
15-
versionName=8.31.0
15+
versionName=8.32.0
1616

1717
# Override the SDK name on native crashes on Android
1818
sentryAndroidSdkName=sentry.native.android

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ quartz = { module = "org.quartz-scheduler:quartz", version = "2.3.0" }
149149
reactor-core = { module = "io.projectreactor:reactor-core", version = "3.5.3" }
150150
retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
151151
retrofit-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" }
152-
sentry-native-ndk = { module = "io.sentry:sentry-native-ndk", version = "0.12.4" }
152+
sentry-native-ndk = { module = "io.sentry:sentry-native-ndk", version = "0.12.6" }
153153
servlet-api = { module = "javax.servlet:javax.servlet-api", version = "3.1.0" }
154154
servlet-jakarta-api = { module = "jakarta.servlet:jakarta.servlet-api", version = "6.1.0" }
155155
slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }

sentry-android-core/api/sentry-android-core.api

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,19 @@ public final class io/sentry/android/core/LoadClass : io/sentry/util/LoadClass {
291291
public fun loadClass (Ljava/lang/String;Lio/sentry/ILogger;)Ljava/lang/Class;
292292
}
293293

294+
public final class io/sentry/android/core/NativeEventCollector {
295+
public fun <init> (Lio/sentry/android/core/SentryAndroidOptions;)V
296+
public fun collect ()V
297+
public fun deleteNativeEventFile (Lio/sentry/android/core/NativeEventCollector$NativeEventData;)Z
298+
public fun findAndRemoveMatchingNativeEvent (J)Lio/sentry/android/core/NativeEventCollector$NativeEventData;
299+
}
300+
301+
public final class io/sentry/android/core/NativeEventCollector$NativeEventData {
302+
public fun getEnvelope ()Lio/sentry/SentryEnvelope;
303+
public fun getEvent ()Lio/sentry/SentryEvent;
304+
public fun getFile ()Ljava/io/File;
305+
}
306+
294307
public final class io/sentry/android/core/NdkHandlerStrategy : java/lang/Enum {
295308
public static final field SENTRY_HANDLER_STRATEGY_CHAIN_AT_START Lio/sentry/android/core/NdkHandlerStrategy;
296309
public static final field SENTRY_HANDLER_STRATEGY_DEFAULT Lio/sentry/android/core/NdkHandlerStrategy;
@@ -500,7 +513,7 @@ public final class io/sentry/android/core/TombstoneIntegration$TombstoneHint : i
500513
}
501514

502515
public class io/sentry/android/core/TombstoneIntegration$TombstonePolicy : io/sentry/android/core/ApplicationExitInfoHistoryDispatcher$ApplicationExitInfoPolicy {
503-
public fun <init> (Lio/sentry/android/core/SentryAndroidOptions;)V
516+
public fun <init> (Lio/sentry/android/core/SentryAndroidOptions;Landroid/content/Context;)V
504517
public fun buildReport (Landroid/app/ApplicationExitInfo;Z)Lio/sentry/android/core/ApplicationExitInfoHistoryDispatcher$Report;
505518
public fun getLabel ()Ljava/lang/String;
506519
public fun getLastReportedTimestamp ()Ljava/lang/Long;

sentry-android-core/proguard-rules.pro

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@
5454

5555
-keepnames class io.sentry.android.core.ApplicationNotResponding
5656

57+
# protobuf-java lite
58+
# https://github.com/protocolbuffers/protobuf/blob/5d876c9fec1a6f2feb0750694f803f89312bffff/java/lite.md#r8-rule-to-make-production-app-builds-work
59+
-keep class * extends com.google.protobuf.GeneratedMessageLite { *; }
60+
5761
##---------------End: proguard configuration for android-core ----------
5862

5963
##---------------Begin: proguard configuration for sentry-apollo-3 ----------

sentry-android-core/src/main/java/io/sentry/android/core/AndroidOptionsInitializer.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ static void initializeIntegrationsAndProcessors(
244244
if (options.getSocketTagger() instanceof NoOpSocketTagger) {
245245
options.setSocketTagger(AndroidSocketTagger.getInstance());
246246
}
247+
247248
if (options.getPerformanceCollectors().isEmpty()) {
248249
options.addPerformanceCollector(new AndroidMemoryCollector());
249250
options.addPerformanceCollector(new AndroidCpuCollector(options.getLogger()));

sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ final class ManifestMetadataReader {
3434
static final String ANR_TIMEOUT_INTERVAL_MILLIS = "io.sentry.anr.timeout-interval-millis";
3535
static final String ANR_ATTACH_THREAD_DUMPS = "io.sentry.anr.attach-thread-dumps";
3636

37+
static final String TOMBSTONE_ENABLE = "io.sentry.tombstone.enable";
38+
3739
static final String AUTO_INIT = "io.sentry.auto-init";
3840
static final String NDK_ENABLE = "io.sentry.ndk.enable";
3941
static final String NDK_SCOPE_SYNC_ENABLE = "io.sentry.ndk.scope-sync.enable";
@@ -205,6 +207,8 @@ static void applyMetadata(
205207
}
206208

207209
options.setAnrEnabled(readBool(metadata, logger, ANR_ENABLE, options.isAnrEnabled()));
210+
options.setTombstoneEnabled(
211+
readBool(metadata, logger, TOMBSTONE_ENABLE, options.isTombstoneEnabled()));
208212

209213
// use enableAutoSessionTracking as fallback
210214
options.setEnableAutoSessionTracking(

0 commit comments

Comments
 (0)